From 8a63e0547ee3e69449837cda0d4e0c1540373664 Mon Sep 17 00:00:00 2001 From: joranbeasley Date: Mon, 29 Jul 2024 17:14:12 -0700 Subject: [PATCH 1/2] feat(asana-integration):default description and name add default values for name and notes resoves issue #74861 --- src/sentry_plugins/asana/plugin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sentry_plugins/asana/plugin.py b/src/sentry_plugins/asana/plugin.py index 02a5a2f8b0b763..ac7c4775809b1c 100644 --- a/src/sentry_plugins/asana/plugin.py +++ b/src/sentry_plugins/asana/plugin.py @@ -78,9 +78,11 @@ def get_new_issue_fields(self, request: Request, group, event, **kwargs): for field in fields: if field["name"] == "title": field["label"] = "Name" + field["default"] = "issue.name" if field["name"] == "description": field["label"] = "Notes" field["required"] = False + field["default"] = "issue.description" return [ { From a5667b65f336822bde18fcca2ff06860e25192ba Mon Sep 17 00:00:00 2001 From: Cathy Teng Date: Wed, 7 Aug 2024 14:10:59 -0700 Subject: [PATCH 2/2] add test --- tests/sentry_plugins/asana/test_plugin.py | 49 +++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/tests/sentry_plugins/asana/test_plugin.py b/tests/sentry_plugins/asana/test_plugin.py index f82ada8432e867..4327f8bdd67779 100644 --- a/tests/sentry_plugins/asana/test_plugin.py +++ b/tests/sentry_plugins/asana/test_plugin.py @@ -1,4 +1,5 @@ from functools import cached_property +from unittest.mock import patch import orjson import pytest @@ -89,6 +90,54 @@ def test_view_create_no_auth(self): # Asana redirect_urls are set to the root domain. assert "http://testserver" in response.data["auth_url"] + @responses.activate + @patch( + "sentry.plugins.bases.issue2.IssueTrackingPlugin2.check_config_and_auth", return_value=None + ) + def test_view_create_with_auth(self, mock_check_auth): + responses.add( + responses.POST, + "https://app.asana.com/api/1.0/tasks", + json={"data": {"name": "Hello world!", "notes": "Fix this.", "gid": 1}}, + ) + + responses.add( + responses.GET, + "https://app.asana.com/api/1.0/workspaces", + json={"data": [{"gid": "12345678", "name": "workspace"}]}, + ) + + self.plugin.set_option("workspace", "12345678", self.project) + event = self.store_event( + data={"message": "Hello world", "culprit": "foo.bar"}, project_id=self.project.id + ) + group = event.group + assert group + + self.login_as(self.user) + self.create_usersocialauth( + user=self.user, provider=self.plugin.auth_provider, extra_data={"access_token": "foo"} + ) + + request = self.request.get("/") + request.user = self.user + response = self.plugin.view_create(request, group) + assert response.status_code == 200 + + assert { + "name": "title", + "label": "Name", + "default": "issue.name", + "type": "text", + } in response.data + assert { + "name": "description", + "label": "Notes", + "default": "issue.description", + "type": "textarea", + "required": False, + } in response.data + @responses.activate def test_link_issue(self): responses.add(