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):