|
@@ -1,4 +1,4 @@
|
|
|
-from unittest.mock import patch
|
|
|
+from unittest import mock
|
|
|
|
|
|
from django.core import mail
|
|
|
|
|
@@ -14,27 +14,27 @@ from sentry.testutils.helpers.features import with_feature
|
|
|
|
|
|
|
|
|
class DeliverDigestTest(TestCase):
|
|
|
- @patch.object(sentry, "digests")
|
|
|
- def run_test(self, key: str, digests):
|
|
|
+ def run_test(self, key: str) -> None:
|
|
|
"""Simple integration test to make sure that digests are firing as expected."""
|
|
|
- backend = RedisBackend()
|
|
|
- digests.digest = backend.digest
|
|
|
-
|
|
|
- rule = Rule.objects.create(project=self.project, label="Test Rule", data={})
|
|
|
- ProjectOwnership.objects.create(project_id=self.project.id, fallthrough=True)
|
|
|
- event = self.store_event(
|
|
|
- data={"timestamp": iso_format(before_now(days=1)), "fingerprint": ["group-1"]},
|
|
|
- project_id=self.project.id,
|
|
|
- )
|
|
|
- event_2 = self.store_event(
|
|
|
- data={"timestamp": iso_format(before_now(days=1)), "fingerprint": ["group-2"]},
|
|
|
- project_id=self.project.id,
|
|
|
- )
|
|
|
- backend.add(key, event_to_record(event, [rule]), increment_delay=0, maximum_delay=0)
|
|
|
- backend.add(key, event_to_record(event_2, [rule]), increment_delay=0, maximum_delay=0)
|
|
|
- with self.tasks():
|
|
|
- deliver_digest(key)
|
|
|
- assert "2 new alerts since" in mail.outbox[0].subject
|
|
|
+ with mock.patch.object(sentry, "digests") as digests:
|
|
|
+ backend = RedisBackend()
|
|
|
+ digests.digest = backend.digest
|
|
|
+
|
|
|
+ rule = Rule.objects.create(project=self.project, label="Test Rule", data={})
|
|
|
+ ProjectOwnership.objects.create(project_id=self.project.id, fallthrough=True)
|
|
|
+ event = self.store_event(
|
|
|
+ data={"timestamp": iso_format(before_now(days=1)), "fingerprint": ["group-1"]},
|
|
|
+ project_id=self.project.id,
|
|
|
+ )
|
|
|
+ event_2 = self.store_event(
|
|
|
+ data={"timestamp": iso_format(before_now(days=1)), "fingerprint": ["group-2"]},
|
|
|
+ project_id=self.project.id,
|
|
|
+ )
|
|
|
+ backend.add(key, event_to_record(event, [rule]), increment_delay=0, maximum_delay=0)
|
|
|
+ backend.add(key, event_to_record(event_2, [rule]), increment_delay=0, maximum_delay=0)
|
|
|
+ with self.tasks():
|
|
|
+ deliver_digest(key)
|
|
|
+ assert "2 new alerts since" in mail.outbox[0].subject
|
|
|
|
|
|
def test_old_key(self):
|
|
|
self.run_test(f"mail:p:{self.project.id}")
|