diff --git a/src/sentry/integrations/slack/views/__init__.py b/src/sentry/integrations/slack/views/__init__.py index bb3574ec7d3442..1e4cfdb4e1bc5f 100644 --- a/src/sentry/integrations/slack/views/__init__.py +++ b/src/sentry/integrations/slack/views/__init__.py @@ -11,7 +11,6 @@ def build_linking_url(endpoint: str, **kwargs: Any) -> str: - """TODO(mgaeta): Remove cast once sentry/utils/http.py is typed.""" url: str = absolute_uri(reverse(endpoint, kwargs={"signed_params": sign(salt=SALT, **kwargs)})) return url diff --git a/src/sentry/templates/sentry/integrations/slack/post-linked-team.html b/src/sentry/templates/sentry/integrations/slack/post-linked-team.html index 718f37115fa7f6..0a291beb91be07 100644 --- a/src/sentry/templates/sentry/integrations/slack/post-linked-team.html +++ b/src/sentry/templates/sentry/integrations/slack/post-linked-team.html @@ -11,7 +11,7 @@ {% trans body_text %}

- + Go back to Slack

diff --git a/src/sentry/testutils/helpers/plugins.py b/src/sentry/testutils/helpers/plugins.py deleted file mode 100644 index a1f9ed507a9455..00000000000000 --- a/src/sentry/testutils/helpers/plugins.py +++ /dev/null @@ -1,20 +0,0 @@ -import importlib.metadata - - -def _get_ep(group: str, name: str) -> importlib.metadata.EntryPoint | None: - for ep in importlib.metadata.distribution("sentry").entry_points: - if ep.group == group and ep.name == name: - return ep - else: - return None - - -def assert_plugin_installed(name: str, plugin: object) -> None: - path = type(plugin).__module__ + ":" + type(plugin).__name__ - ep = _get_ep("sentry.plugins", name) - assert ep is not None and ep.value == path - - -def assert_app_installed(name: str, path: str) -> None: - ep = _get_ep("sentry.apps", name) - assert ep is not None and ep.value == path diff --git a/tests/acceptance/sentry_plugins/__init__.py b/tests/acceptance/chartcuterie/__init__.py similarity index 100% rename from tests/acceptance/sentry_plugins/__init__.py rename to tests/acceptance/chartcuterie/__init__.py diff --git a/tests/acceptance/chartcuterie/test_chart_renderer.py b/tests/acceptance/chartcuterie/test_chart_renderer.py index 87b42efd78433a..f8f72de965f213 100644 --- a/tests/acceptance/chartcuterie/test_chart_renderer.py +++ b/tests/acceptance/chartcuterie/test_chart_renderer.py @@ -12,6 +12,8 @@ def test_debug_renders(self): with self.options(options): self.browser.get("debug/chart-renderer/") + self.wait_for_loading() + images = self.browser.elements(selector="img") assert len(images) > 0 diff --git a/tests/acceptance/chartcuterie/test_image_block_builder.py b/tests/acceptance/chartcuterie/test_image_block_builder.py index fd728ef9b4556b..f5697d0e9fdc04 100644 --- a/tests/acceptance/chartcuterie/test_image_block_builder.py +++ b/tests/acceptance/chartcuterie/test_image_block_builder.py @@ -12,11 +12,7 @@ ProfileFunctionRegressionType, ) from sentry.models.group import Group -from sentry.testutils.cases import ( - AcceptanceTestCase, - MetricsEnhancedPerformanceTestCase, - ProfilesSnubaTestCase, -) +from sentry.testutils.cases import MetricsEnhancedPerformanceTestCase, ProfilesSnubaTestCase from sentry.testutils.helpers.datetime import before_now from sentry.testutils.helpers.features import with_feature from tests.sentry.issues.test_utils import OccurrenceTestMixin @@ -25,7 +21,6 @@ class TestSlackImageBlockBuilder( - AcceptanceTestCase, MetricsEnhancedPerformanceTestCase, ProfilesSnubaTestCase, OccurrenceTestMixin, diff --git a/tests/acceptance/sentry_plugins/test_amazon_sqs.py b/tests/acceptance/sentry_plugins/test_amazon_sqs.py deleted file mode 100644 index e0ee74f0127e81..00000000000000 --- a/tests/acceptance/sentry_plugins/test_amazon_sqs.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class AmazonSQSTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/amazon-sqs/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-amazon-sqs") diff --git a/tests/acceptance/sentry_plugins/test_asana.py b/tests/acceptance/sentry_plugins/test_asana.py deleted file mode 100644 index 52f256b574c9fe..00000000000000 --- a/tests/acceptance/sentry_plugins/test_asana.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class AsanaTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/asana/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-asana") diff --git a/tests/acceptance/sentry_plugins/test_bitbucket.py b/tests/acceptance/sentry_plugins/test_bitbucket.py deleted file mode 100644 index 3c5c667c6b279f..00000000000000 --- a/tests/acceptance/sentry_plugins/test_bitbucket.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class BitbucketTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/bitbucket/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-bitbucket") diff --git a/tests/acceptance/sentry_plugins/test_github.py b/tests/acceptance/sentry_plugins/test_github.py deleted file mode 100644 index fdd29dd70d68f9..00000000000000 --- a/tests/acceptance/sentry_plugins/test_github.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class GitHubTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/github/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-github") diff --git a/tests/acceptance/sentry_plugins/test_gitlab.py b/tests/acceptance/sentry_plugins/test_gitlab.py deleted file mode 100644 index c69968d0d33b9b..00000000000000 --- a/tests/acceptance/sentry_plugins/test_gitlab.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class GitLabTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/gitlab/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-gitlab") diff --git a/tests/acceptance/sentry_plugins/test_jira.py b/tests/acceptance/sentry_plugins/test_jira.py deleted file mode 100644 index 95201a36502af8..00000000000000 --- a/tests/acceptance/sentry_plugins/test_jira.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class JIRATest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/jira/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-jira") diff --git a/tests/acceptance/sentry_plugins/test_pagerduty.py b/tests/acceptance/sentry_plugins/test_pagerduty.py deleted file mode 100644 index 72145c3933e842..00000000000000 --- a/tests/acceptance/sentry_plugins/test_pagerduty.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class PagerDutyTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/pagerduty/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-pagerduty") diff --git a/tests/acceptance/sentry_plugins/test_pivotal.py b/tests/acceptance/sentry_plugins/test_pivotal.py deleted file mode 100644 index 6b9eb9a4d5a0c5..00000000000000 --- a/tests/acceptance/sentry_plugins/test_pivotal.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class PivotalTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/pivotal/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-pivotal") diff --git a/tests/acceptance/sentry_plugins/test_pushover.py b/tests/acceptance/sentry_plugins/test_pushover.py deleted file mode 100644 index 0fd7df727730eb..00000000000000 --- a/tests/acceptance/sentry_plugins/test_pushover.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class PushoverTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/pushover/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-pushover") diff --git a/tests/acceptance/sentry_plugins/test_segment.py b/tests/acceptance/sentry_plugins/test_segment.py deleted file mode 100644 index bafafaaae16211..00000000000000 --- a/tests/acceptance/sentry_plugins/test_segment.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class SegmentTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/segment/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-segment") diff --git a/tests/acceptance/sentry_plugins/test_sessionstack.py b/tests/acceptance/sentry_plugins/test_sessionstack.py deleted file mode 100644 index dc2f59648a5439..00000000000000 --- a/tests/acceptance/sentry_plugins/test_sessionstack.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class SessionStackTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/sessionstack/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-sessionstack") diff --git a/tests/acceptance/sentry_plugins/test_slack.py b/tests/acceptance/sentry_plugins/test_slack.py deleted file mode 100644 index 65f2c9f6ff36d6..00000000000000 --- a/tests/acceptance/sentry_plugins/test_slack.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class SlackTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/slack/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-slack") diff --git a/tests/acceptance/sentry_plugins/test_splunk.py b/tests/acceptance/sentry_plugins/test_splunk.py deleted file mode 100644 index 925a583a6388c0..00000000000000 --- a/tests/acceptance/sentry_plugins/test_splunk.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class SplunkTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/splunk/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-splunk") diff --git a/tests/acceptance/sentry_plugins/test_victorops.py b/tests/acceptance/sentry_plugins/test_victorops.py deleted file mode 100644 index 34de2697c81c55..00000000000000 --- a/tests/acceptance/sentry_plugins/test_victorops.py +++ /dev/null @@ -1,20 +0,0 @@ -from sentry.testutils.cases import AcceptanceTestCase -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class VictorOpsTest(AcceptanceTestCase): - def setUp(self): - super().setUp() - self.user = self.create_user("foo@example.com") - self.org = self.create_organization(name="Rowdy Tiger", owner=None) - self.team = self.create_team(organization=self.org, name="Mariachi Band") - self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal") - self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team]) - self.login_as(self.user) - self.path = f"/{self.org.slug}/{self.project.slug}/settings/plugins/victorops/" - - def test_simple(self): - self.browser.get(self.path) - self.browser.wait_until_not('[data-test-id="loading-indicator"]') - assert self.browser.element_exists(".ref-plugin-config-victorops") diff --git a/tests/acceptance/test_link_team.py b/tests/acceptance/test_link_team.py index dde4af1e0f35ae..68c6ab99f30b45 100644 --- a/tests/acceptance/test_link_team.py +++ b/tests/acceptance/test_link_team.py @@ -70,6 +70,8 @@ def test_link_team(self): self.browser.click(f'[value="{self.team.id}"]') self.browser.click('[type="submit"]') self.browser.wait_until_not(".loading") + # Ensure we get to the next page before checking for the ExternalActor + self.browser.wait_until_test_id("back-to-slack") assert ExternalActor.objects.filter( team_id=self.team.id, @@ -96,6 +98,8 @@ def test_link_team_as_team_admin(self): self.browser.click(f'[value="{self.team.id}"]') self.browser.click('[type="submit"]') self.browser.wait_until_not(".loading") + # Ensure we get to the next page before checking for the ExternalActor + self.browser.wait_until_test_id("back-to-slack") assert ExternalActor.objects.filter( team_id=self.team.id, diff --git a/tests/sentry/integrations/github/tasks/test_open_pr_comment.py b/tests/sentry/integrations/github/tasks/test_open_pr_comment.py index 8545b518138b41..10198f1357c858 100644 --- a/tests/sentry/integrations/github/tasks/test_open_pr_comment.py +++ b/tests/sentry/integrations/github/tasks/test_open_pr_comment.py @@ -1,6 +1,7 @@ from typing import Any from unittest.mock import patch +import orjson import pytest import responses from django.utils import timezone @@ -1008,11 +1009,11 @@ class TestOpenPRCommentWorkflow(IntegrationTestCase, CreateEventTestCase): def setUp(self): self.user_id = "user_1" self.app_id = "app_1" - - self.group_id_1 = [self._create_event(culprit="issue1", user_id=str(i)) for i in range(5)][ + self.group_1 = [self._create_event(culprit="issue1", user_id=str(i)) for i in range(5)][ 0 - ].group.id - self.group_id_2 = [ + ].group + self.group_id_1 = self.group_1.id + self.group_2 = [ self._create_event( culprit="issue2", filenames=["foo.py", "bar.py"], @@ -1020,7 +1021,8 @@ def setUp(self): user_id=str(i), ) for i in range(6) - ][0].group.id + ][0].group + self.group_id_2 = self.group_2.id self.gh_repo = self.create_repo( name="getsentry/sentry", @@ -1040,7 +1042,7 @@ def setUp(self): "event_count": 1000 * (i + 1), "function_name": "function_" + str(i), } - for i, g in enumerate(Group.objects.all()) + for i, g in enumerate([self.group_1, self.group_2]) ] self.groups.reverse() @@ -1073,14 +1075,28 @@ def test_comment_workflow( json={"id": 1}, headers={"X-Ratelimit-Limit": "60", "X-Ratelimit-Remaining": "59"}, ) - open_pr_comment_workflow(self.pr.id) - assert ( - f'"body": "## \\ud83d\\udd0d Existing Issues For Review\\nYour pull request is modifying functions with the following pre-existing issues:\\n\\n\\ud83d\\udcc4 File: **foo.py**\\n\\n| Function | Unhandled Issue |\\n| :------- | :----- |\\n| **`function_1`** | [**Error**](http://testserver/organizations/baz/issues/{self.group_id_2}/?referrer=github-open-pr-bot) issue2
`Event Count:` **2k** |\\n| **`function_0`** | [**Error**](http://testserver/organizations/baz/issues/{self.group_id_1}/?referrer=github-open-pr-bot) issue1
`Event Count:` **1k** |\\n
\\n\\ud83d\\udcc4 File: bar.py (Click to Expand)\\n\\n| Function | Unhandled Issue |\\n| :------- | :----- |\\n| **`function_1`** | [**Error**](http://testserver/organizations/baz/issues/{self.group_id_2}/?referrer=github-open-pr-bot) issue2
`Event Count:` **2k** |\\n| **`function_0`** | [**Error**](http://testserver/organizations/baz/issues/{self.group_id_1}/?referrer=github-open-pr-bot) issue1
`Event Count:` **1k** |\\n
\\n---\\n\\nDid you find this useful? React with a \\ud83d\\udc4d or \\ud83d\\udc4e"'.encode() - in responses.calls[0].request.body - ) - + expected_body = ( + "## 🔍 Existing Issues For Review\n" + "Your pull request is modifying functions with the following pre-existing issues:\n\n" + "📄 File: **foo.py**\n\n" + "| Function | Unhandled Issue |\n" + "| :------- | :----- |\n" + f"| **`function_1`** | [**Error**](http://testserver/organizations/baz/issues/{self.group_id_2}/?referrer=github-open-pr-bot) issue2
`Event Count:` **2k** |\n" + f"| **`function_0`** | [**Error**](http://testserver/organizations/baz/issues/{self.group_id_1}/?referrer=github-open-pr-bot) issue1
`Event Count:` **1k** |\n" + "
\n" + "📄 File: bar.py (Click to Expand)\n\n" + "| Function | Unhandled Issue |\n" + "| :------- | :----- |\n" + f"| **`function_1`** | [**Error**](http://testserver/organizations/baz/issues/{self.group_id_2}/?referrer=github-open-pr-bot) issue2
`Event Count:` **2k** |\n" + f"| **`function_0`** | [**Error**](http://testserver/organizations/baz/issues/{self.group_id_1}/?referrer=github-open-pr-bot) issue1
`Event Count:` **1k** |\n" + "
\n" + "---\n\n" + "Did you find this useful? React with a 👍 or 👎" + ) + + assert orjson.loads(responses.calls[0].request.body.decode())["body"] == expected_body pull_request_comment_query = PullRequestComment.objects.all() assert len(pull_request_comment_query) == 1 comment = pull_request_comment_query[0] diff --git a/tests/sentry/integrations/github/tasks/test_pr_comment.py b/tests/sentry/integrations/github/tasks/test_pr_comment.py index 9ca79716608d68..2cee0b8056e4d9 100644 --- a/tests/sentry/integrations/github/tasks/test_pr_comment.py +++ b/tests/sentry/integrations/github/tasks/test_pr_comment.py @@ -461,7 +461,7 @@ def test_comment_workflow_updates_comment(self, mock_metrics, mock_issues): in responses.calls[0].request.body ) pull_request_comment.refresh_from_db() - assert pull_request_comment.group_ids == [g.id for g in Group.objects.all()] + assert pull_request_comment.group_ids == groups assert pull_request_comment.updated_at == timezone.now() mock_metrics.incr.assert_called_with("github.pr_comment.comment_updated") diff --git a/tests/sentry/integrations/github/test_webhooks.py b/tests/sentry/integrations/github/test_webhooks.py index bf2da4c972965a..e884501cc984b2 100644 --- a/tests/sentry/integrations/github/test_webhooks.py +++ b/tests/sentry/integrations/github/test_webhooks.py @@ -436,14 +436,12 @@ def test_multiple_orgs(self): ) future_expires = datetime.now().replace(microsecond=0) + timedelta(minutes=5) - with assume_test_silo_mode(SiloMode.CONTROL): - integration = self.create_integration( - organization=self.organization, - external_id="12345", - provider="github", - metadata={"access_token": "1234", "expires_at": future_expires.isoformat()}, - ) - integration.add_organization(self.project.organization.id, self.user) + self.create_integration( + organization=self.organization, + external_id="12345", + provider="github", + metadata={"access_token": "1234", "expires_at": future_expires.isoformat()}, + ) org2 = self.create_organization() project2 = self.create_project(organization=org2, name="bar") @@ -454,14 +452,13 @@ def test_multiple_orgs(self): name="another/repo", ) - future_expires = datetime.now().replace(microsecond=0) + timedelta(minutes=5) + integration = self.create_integration( + organization=self.organization, + external_id="99", + provider="github", + metadata={"access_token": "1234", "expires_at": future_expires.isoformat()}, + ) with assume_test_silo_mode(SiloMode.CONTROL): - integration = self.create_integration( - organization=self.organization, - external_id="99", - provider="github", - metadata={"access_token": "1234", "expires_at": future_expires.isoformat()}, - ) integration.add_organization(org2.id, self.user) response = self.client.post( @@ -497,14 +494,13 @@ def test_multiple_orgs_creates_missing_repos(self, mock_metrics): org2 = self.create_organization() future_expires = datetime.now().replace(microsecond=0) + timedelta(minutes=5) + integration = self.create_integration( + organization=self.organization, + external_id="12345", + provider="github", + metadata={"access_token": "1234", "expires_at": future_expires.isoformat()}, + ) with assume_test_silo_mode(SiloMode.CONTROL): - integration = self.create_integration( - organization=self.organization, - external_id="12345", - provider="github", - metadata={"access_token": "1234", "expires_at": future_expires.isoformat()}, - ) - integration.add_organization(self.project.organization.id, self.user) integration.add_organization(org2.id, self.user) response = self.client.post( diff --git a/tests/sentry/integrations/gitlab/tasks/test_pr_comment.py b/tests/sentry/integrations/gitlab/tasks/test_pr_comment.py index bf61853d8cbe29..74978f5cfe7105 100644 --- a/tests/sentry/integrations/gitlab/tasks/test_pr_comment.py +++ b/tests/sentry/integrations/gitlab/tasks/test_pr_comment.py @@ -434,7 +434,7 @@ def test_comment_workflow_updates_comment(self, mock_metrics, mock_issues): } pull_request_comment.refresh_from_db() - assert pull_request_comment.group_ids == [g.id for g in Group.objects.all()] + assert pull_request_comment.group_ids == groups assert pull_request_comment.updated_at == timezone.now() mock_metrics.incr.assert_called_with("gitlab.pr_comment.comment_updated") diff --git a/tests/sentry/integrations/opsgenie/test_integration.py b/tests/sentry/integrations/opsgenie/test_integration.py index 518a657902c6c5..ebab9f103d3132 100644 --- a/tests/sentry/integrations/opsgenie/test_integration.py +++ b/tests/sentry/integrations/opsgenie/test_integration.py @@ -306,17 +306,20 @@ def test_migrate_plugin(self, mock_record): ) id1 = str(self.organization_integration.id) + "-thonk" id2 = str(self.organization_integration.id) + "-thinkies" - assert org_integration.config == { - "team_table": [ - {"id": id1, "team": "thonk [MIGRATED]", "integration_key": "123-key"}, - {"id": id2, "team": "thinkies [MIGRATED]", "integration_key": "456-key"}, - ] - } - - rule_updated = Rule.objects.get( - label="rule", - project=self.project, - ) + # Don't assert order to prevent test flakiness + assert len(org_integration.config["team_table"]) == 2 + assert { + "id": id1, + "team": "thonk [MIGRATED]", + "integration_key": "123-key", + } in org_integration.config["team_table"] + assert { + "id": id2, + "team": "thinkies [MIGRATED]", + "integration_key": "456-key", + } in org_integration.config["team_table"] + + rule_updated = Rule.objects.get(label="rule", project=self.project) assert rule_updated.data["actions"] == [ ALERT_LEGACY_INTEGRATIONS, @@ -327,10 +330,7 @@ def test_migrate_plugin(self, mock_record): }, ] - rule2_updated = Rule.objects.get( - label="rule2", - project=project2, - ) + rule2_updated = Rule.objects.get(label="rule2", project=project2) assert rule2_updated.data["actions"] == [ ALERT_LEGACY_INTEGRATIONS, { diff --git a/tests/sentry/integrations/slack/webhooks/actions/test_status.py b/tests/sentry/integrations/slack/webhooks/actions/test_status.py index 8643b82fbf49c5..0aea5743c24f5f 100644 --- a/tests/sentry/integrations/slack/webhooks/actions/test_status.py +++ b/tests/sentry/integrations/slack/webhooks/actions/test_status.py @@ -41,6 +41,8 @@ pytestmark = [requires_snuba] +# Prevent flakiness from timestamp mismatch when building linking URL +@freeze_time() class StatusActionTest(BaseEventTest, PerformanceIssueTestCase, HybridCloudTestMixin): def setUp(self): super().setUp() @@ -229,10 +231,7 @@ def resolve_issue(self, original_message, selected_option, payload_data=None, mo assert start_2.args[0] == EventLifecycleOutcome.STARTED assert success_2.args[0] == EventLifecycleOutcome.SUCCESS - @freeze_time("2021-01-14T12:27:28.303Z") def test_ask_linking(self): - """Freezing time to prevent flakiness from timestamp mismatch.""" - resp = self.post_webhook(slack_user={"id": "invalid-id", "domain": "example"}) associate_url = build_linking_url( self.integration, "invalid-id", "C065W1189", self.response_url @@ -990,7 +989,10 @@ def test_permission_denied(self, _mock_view_update): assert self.group.get_status() == GroupStatus.UNRESOLVED associate_url = build_unlinking_url( - self.integration.id, "slack_id2", "C065W1189", self.response_url + integration_id=self.integration.id, + slack_id=user2_identity.external_id, + channel_id="C065W1189", + response_url=self.response_url, ) assert resp.data["response_type"] == "ephemeral" @@ -1060,7 +1062,6 @@ def test_permission_denied_through_unfurl(self, _mock_view_updates_open): associate_url=associate_url, user_email=user2.email, org_name=self.organization.name ) - @freeze_time("2021-01-14T12:27:28.303Z") @patch( "slack_sdk.web.WebClient.views_update", return_value=SlackResponse( @@ -1118,7 +1119,6 @@ def test_handle_submission_fail(self, mock_open_view): org_name=self.organization.name, ) - @freeze_time("2021-01-14T12:27:28.303Z") @patch( "slack_sdk.web.WebClient.views_update", return_value=SlackResponse( diff --git a/tests/sentry/integrations/utils/test_scope.py b/tests/sentry/integrations/utils/test_scope.py index 5f6d818e771309..44de93f1195b8a 100644 --- a/tests/sentry/integrations/utils/test_scope.py +++ b/tests/sentry/integrations/utils/test_scope.py @@ -75,9 +75,10 @@ def test_binds_org_context_with_multiple_orgs(self, mock_bind_ambiguous_org_cont bind_org_context_from_integration(integration.id) - mock_bind_ambiguous_org_context.assert_called_with( - [maisey_org.slug, charlie_org.slug], f"integration (id={integration.id})" - ) + call_orgs, call_source = mock_bind_ambiguous_org_context.call_args[0] + # Prevent flakiness from random ordering of the org slugs + self.assertListEqual(sorted(call_orgs), sorted([maisey_org.slug, charlie_org.slug])) + assert call_source == f"integration (id={integration.id})" @patch("sentry.integrations.utils.scope.bind_ambiguous_org_context") @patch("sentry.integrations.utils.scope.bind_organization_context") diff --git a/tests/sentry/tasks/test_daily_summary.py b/tests/sentry/tasks/test_daily_summary.py index 6433737618d3f8..aa022d4eb450ea 100644 --- a/tests/sentry/tasks/test_daily_summary.py +++ b/tests/sentry/tasks/test_daily_summary.py @@ -967,13 +967,13 @@ def test_no_performance_issues(self): # check the new in release section assert ":rocket:" in blocks[4]["fields"][0]["text"] assert self.release.version in blocks[4]["fields"][0]["text"] - assert link_text.format(self.group2.id) in blocks[4]["fields"][0]["text"] - assert link_text.format(self.group3.id) in blocks[4]["fields"][1]["text"] + assert link_text.format(self.group2.id) in orjson.dumps(blocks[4]["fields"]).decode("utf-8") + assert link_text.format(self.group3.id) in orjson.dumps(blocks[4]["fields"]).decode("utf-8") # check error issues assert "*Today's Top 3 Error Issues" in blocks[5]["fields"][0]["text"] assert link_text.format(self.group1.id) in blocks[5]["fields"][0]["text"] assert link_text.format(self.group2.id) in blocks[5]["fields"][0]["text"] - assert link_text.format(self.group2.id) in blocks[5]["fields"][0]["text"] + assert link_text.format(self.group3.id) in blocks[5]["fields"][0]["text"] # check escalated or regressed issues assert "*Issues that escalated today*" in blocks[6]["fields"][0]["text"] assert link_text.format(self.group3.id) in blocks[6]["fields"][0]["text"] diff --git a/tests/sentry_plugins/amazon_sqs/test_plugin.py b/tests/sentry_plugins/amazon_sqs/test_plugin.py index fd6f0f3718a496..9977565b8a5e6b 100644 --- a/tests/sentry_plugins/amazon_sqs/test_plugin.py +++ b/tests/sentry_plugins/amazon_sqs/test_plugin.py @@ -6,7 +6,6 @@ from botocore.client import ClientError from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.amazon_sqs.plugin import AmazonSQSPlugin @@ -14,10 +13,6 @@ def test_conf_key() -> None: assert AmazonSQSPlugin().conf_key == "amazon-sqs" -def test_entry_point() -> None: - assert_plugin_installed("amazon_sqs", AmazonSQSPlugin()) - - class AmazonSQSPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/asana/test_plugin.py b/tests/sentry_plugins/asana/test_plugin.py index 10fe0084c49df0..909c3a1817fc0e 100644 --- a/tests/sentry_plugins/asana/test_plugin.py +++ b/tests/sentry_plugins/asana/test_plugin.py @@ -8,7 +8,6 @@ from sentry.exceptions import PluginError from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.asana.plugin import AsanaPlugin @@ -16,10 +15,6 @@ def test_conf_key() -> None: assert AsanaPlugin().conf_key == "asana" -def test_entry_point() -> None: - assert_plugin_installed("asana", AsanaPlugin()) - - class AsanaPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/bitbucket/test_plugin.py b/tests/sentry_plugins/bitbucket/test_plugin.py index ebdf8bae1e90ea..f945588bdb78b2 100644 --- a/tests/sentry_plugins/bitbucket/test_plugin.py +++ b/tests/sentry_plugins/bitbucket/test_plugin.py @@ -7,7 +7,6 @@ from sentry.exceptions import PluginError from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.bitbucket.plugin import BitbucketPlugin @@ -15,10 +14,6 @@ def test_conf_key() -> None: assert BitbucketPlugin().conf_key == "bitbucket" -def test_entry_point() -> None: - assert_plugin_installed("bitbucket", BitbucketPlugin()) - - class BitbucketPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/github/test_plugin.py b/tests/sentry_plugins/github/test_plugin.py index a33525e38ea183..c7c80eb19777f2 100644 --- a/tests/sentry_plugins/github/test_plugin.py +++ b/tests/sentry_plugins/github/test_plugin.py @@ -8,7 +8,6 @@ from sentry.exceptions import PluginError from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.github.plugin import GitHubPlugin @@ -16,10 +15,6 @@ def test_conf_key() -> None: assert GitHubPlugin().conf_key == "github" -def test_entry_point() -> None: - assert_plugin_installed("github", GitHubPlugin()) - - class GitHubPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/gitlab/test_plugin.py b/tests/sentry_plugins/gitlab/test_plugin.py index e1122bb233132e..8f978a0991549e 100644 --- a/tests/sentry_plugins/gitlab/test_plugin.py +++ b/tests/sentry_plugins/gitlab/test_plugin.py @@ -6,7 +6,6 @@ from django.urls import reverse from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.gitlab.plugin import GitLabPlugin @@ -14,10 +13,6 @@ def test_conf_key() -> None: assert GitLabPlugin().conf_key == "gitlab" -def test_entry_point() -> None: - assert_plugin_installed("gitlab", GitLabPlugin()) - - class GitLabPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/opgsenie/test_plugin.py b/tests/sentry_plugins/opgsenie/test_plugin.py index c0c5c43621776f..f34087224e675d 100644 --- a/tests/sentry_plugins/opgsenie/test_plugin.py +++ b/tests/sentry_plugins/opgsenie/test_plugin.py @@ -6,7 +6,6 @@ from sentry.models.rule import Rule from sentry.plugins.base import Notification from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.opsgenie.plugin import OpsGeniePlugin @@ -14,10 +13,6 @@ def test_conf_key() -> None: assert OpsGeniePlugin().conf_key == "opsgenie" -def test_entry_point() -> None: - assert_plugin_installed("opsgenie", OpsGeniePlugin()) - - class OpsGeniePluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/pagerduty/test_plugin.py b/tests/sentry_plugins/pagerduty/test_plugin.py index 3b48d5fa84f55a..9afb19aed712b7 100644 --- a/tests/sentry_plugins/pagerduty/test_plugin.py +++ b/tests/sentry_plugins/pagerduty/test_plugin.py @@ -7,7 +7,6 @@ from sentry.models.rule import Rule from sentry.plugins.base import Notification from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.pagerduty.plugin import PagerDutyPlugin INVALID_METHOD = ( @@ -25,10 +24,6 @@ def test_conf_key() -> None: assert PagerDutyPlugin().conf_key == "pagerduty" -def test_entry_point() -> None: - assert_plugin_installed("pagerduty", PagerDutyPlugin()) - - class PagerDutyPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/pivotal/test_pivotal_plugin.py b/tests/sentry_plugins/pivotal/test_pivotal_plugin.py index ef351691c8b577..7ef13d8c69d6f7 100644 --- a/tests/sentry_plugins/pivotal/test_pivotal_plugin.py +++ b/tests/sentry_plugins/pivotal/test_pivotal_plugin.py @@ -4,7 +4,6 @@ from django.urls import reverse from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.pivotal.plugin import PivotalPlugin @@ -12,10 +11,6 @@ def test_conf_key() -> None: assert PivotalPlugin().conf_key == "pivotal" -def test_entry_point() -> None: - assert_plugin_installed("pivotal", PivotalPlugin()) - - class PivotalPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/pushover/test_plugin.py b/tests/sentry_plugins/pushover/test_plugin.py index ca19c53afab91a..d17d813e9fde21 100644 --- a/tests/sentry_plugins/pushover/test_plugin.py +++ b/tests/sentry_plugins/pushover/test_plugin.py @@ -8,7 +8,6 @@ from sentry.models.rule import Rule from sentry.plugins.base import Notification from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.pushover.plugin import PushoverPlugin SUCCESS = """{"status":1,"request":"e460545a8b333d0da2f3602aff3133d6"}""" @@ -18,10 +17,6 @@ def test_conf_key() -> None: assert PushoverPlugin().conf_key == "pushover" -def test_entry_point() -> None: - assert_plugin_installed("pushover", PushoverPlugin()) - - class PushoverPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/redmine/test_plugin.py b/tests/sentry_plugins/redmine/test_plugin.py index e7157d95d7f544..9e4db886fc3759 100644 --- a/tests/sentry_plugins/redmine/test_plugin.py +++ b/tests/sentry_plugins/redmine/test_plugin.py @@ -5,7 +5,6 @@ from django.urls import reverse from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_app_installed, assert_plugin_installed from sentry_plugins.redmine.plugin import RedminePlugin @@ -13,11 +12,6 @@ def test_conf_key() -> None: assert RedminePlugin().conf_key == "redmine" -def test_entry_point() -> None: - assert_plugin_installed("redmine", RedminePlugin()) - assert_app_installed("redmine", "sentry_plugins.redmine") - - class RedminePluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/segment/test_plugin.py b/tests/sentry_plugins/segment/test_plugin.py index 39ae0b4c000997..2fd9c6e5c471f7 100644 --- a/tests/sentry_plugins/segment/test_plugin.py +++ b/tests/sentry_plugins/segment/test_plugin.py @@ -4,7 +4,6 @@ import responses from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.segment.plugin import SegmentPlugin @@ -12,10 +11,6 @@ def test_conf_key() -> None: assert SegmentPlugin().conf_key == "segment" -def test_entry_point() -> None: - assert_plugin_installed("segment", SegmentPlugin()) - - class SegmentPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/sessionstack/test_plugin.py b/tests/sentry_plugins/sessionstack/test_plugin.py index 1d2cf3970123c1..e1557757d9d523 100644 --- a/tests/sentry_plugins/sessionstack/test_plugin.py +++ b/tests/sentry_plugins/sessionstack/test_plugin.py @@ -5,7 +5,6 @@ from django.urls import reverse from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_app_installed, assert_plugin_installed from sentry_plugins.sessionstack.plugin import SessionStackPlugin EXPECTED_SESSION_URL = ( @@ -22,11 +21,6 @@ def test_conf_key() -> None: assert SessionStackPlugin().conf_key == "sessionstack" -def test_entry_point() -> None: - assert_plugin_installed("sessionstack", SessionStackPlugin()) - assert_app_installed("sessionstack", "sentry_plugins.sessionstack") - - class SessionStackPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/slack/test_plugin.py b/tests/sentry_plugins/slack/test_plugin.py index 0a6ab3df6d0690..b953c4d89311e5 100644 --- a/tests/sentry_plugins/slack/test_plugin.py +++ b/tests/sentry_plugins/slack/test_plugin.py @@ -10,7 +10,6 @@ from sentry.plugins.base import Notification from sentry.shared_integrations.exceptions import ApiError from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.slack.plugin import SlackPlugin @@ -18,10 +17,6 @@ def test_conf_key() -> None: assert SlackPlugin().conf_key == "slack" -def test_entry_point() -> None: - assert_plugin_installed("slack", SlackPlugin()) - - class SlackPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/splunk/test_plugin.py b/tests/sentry_plugins/splunk/test_plugin.py index f33db31a0f568a..b04fd1acb11b4f 100644 --- a/tests/sentry_plugins/splunk/test_plugin.py +++ b/tests/sentry_plugins/splunk/test_plugin.py @@ -6,7 +6,6 @@ from sentry.shared_integrations.exceptions import ApiError from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.splunk.plugin import SplunkPlugin @@ -14,10 +13,6 @@ def test_conf_key() -> None: assert SplunkPlugin().conf_key == "splunk" -def test_entry_point() -> None: - assert_plugin_installed("splunk", SplunkPlugin()) - - class SplunkPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/trello/test_plugin.py b/tests/sentry_plugins/trello/test_plugin.py index f6aebe5bc57490..bcf381c53a8dce 100644 --- a/tests/sentry_plugins/trello/test_plugin.py +++ b/tests/sentry_plugins/trello/test_plugin.py @@ -5,7 +5,6 @@ import responses from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.trello.plugin import TrelloPlugin @@ -13,10 +12,6 @@ def test_conf_key() -> None: assert TrelloPlugin().conf_key == "trello" -def test_entry_point() -> None: - assert_plugin_installed("trello", TrelloPlugin()) - - class TrelloPluginTestBase(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/twilio/test_plugin.py b/tests/sentry_plugins/twilio/test_plugin.py index 56d680b2deb6a0..d557eefb63ac33 100644 --- a/tests/sentry_plugins/twilio/test_plugin.py +++ b/tests/sentry_plugins/twilio/test_plugin.py @@ -1,13 +1,11 @@ from functools import cached_property from urllib.parse import parse_qs -import pytest import responses from sentry.models.rule import Rule from sentry.plugins.base import Notification from sentry.testutils.cases import PluginTestCase, TestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.twilio.plugin import TwilioConfigurationForm, TwilioPlugin, split_sms_to @@ -107,11 +105,6 @@ def test_conf_key() -> None: assert TwilioPlugin().conf_key == "twilio" -@pytest.mark.skip(reason="flaky: #93975") -def test_entry_point() -> None: - assert_plugin_installed("twilio", TwilioPlugin()) - - class TwilioPluginTest(PluginTestCase): @cached_property def plugin(self): diff --git a/tests/sentry_plugins/victorops/test_plugin.py b/tests/sentry_plugins/victorops/test_plugin.py index 022ae2fb4635f1..b80bcbdf5942fb 100644 --- a/tests/sentry_plugins/victorops/test_plugin.py +++ b/tests/sentry_plugins/victorops/test_plugin.py @@ -7,7 +7,6 @@ from sentry.models.rule import Rule from sentry.plugins.base import Notification from sentry.testutils.cases import PluginTestCase -from sentry.testutils.helpers.plugins import assert_plugin_installed from sentry_plugins.victorops.plugin import VictorOpsPlugin SUCCESS = """{ @@ -28,10 +27,6 @@ def test_conf_key() -> None: assert VictorOpsPlugin().conf_key == "victorops" -def test_entry_point() -> None: - assert_plugin_installed("victorops", VictorOpsPlugin()) - - class VictorOpsPluginTest(PluginTestCase): @cached_property def plugin(self):