mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
from sentry.models.group import Group
|
|
from sentry.services.hybrid_cloud.integration.serial import serialize_integration
|
|
from sentry.testutils.cases import TestCase
|
|
from sentry.testutils.silo import region_silo_test
|
|
from sentry.testutils.skips import requires_snuba
|
|
|
|
pytestmark = requires_snuba
|
|
|
|
|
|
@region_silo_test
|
|
class SentryManagerTest(TestCase):
|
|
def test_valid_only_message(self):
|
|
proj = self.create_project()
|
|
event = Group.objects.from_kwargs(proj.id, message="foo")
|
|
self.assertEqual(event.group.last_seen, event.datetime)
|
|
self.assertEqual(event.message, "foo")
|
|
self.assertEqual(event.project_id, proj.id)
|
|
|
|
def test_get_groups_by_external_issue(self):
|
|
external_issue_key = "api-123"
|
|
group = self.create_group()
|
|
integration_model, _ = self.create_provider_integration_for(
|
|
group.organization,
|
|
self.user,
|
|
provider="jira",
|
|
external_id="some_id",
|
|
name="Hello world",
|
|
metadata={"base_url": "https://example.com"},
|
|
)
|
|
integration = serialize_integration(integration=integration_model)
|
|
self.create_integration_external_issue(
|
|
group=group, integration=integration, key=external_issue_key
|
|
)
|
|
|
|
affected_groups_no_orgs = Group.objects.get_groups_by_external_issue(
|
|
integration,
|
|
[],
|
|
external_issue_key,
|
|
)
|
|
assert set(affected_groups_no_orgs) == set()
|
|
|
|
affected_groups_wrong_key = Group.objects.get_groups_by_external_issue(
|
|
integration,
|
|
[group.organization],
|
|
"invalid",
|
|
)
|
|
assert set(affected_groups_wrong_key) == set()
|
|
|
|
affected_groups = Group.objects.get_groups_by_external_issue(
|
|
integration,
|
|
[group.organization],
|
|
external_issue_key,
|
|
)
|
|
assert set(affected_groups) == {group}
|