test_group.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from __future__ import absolute_import
  2. from sentry.models import Group
  3. from sentry.testutils import SnubaTestCase, TestCase
  4. from sentry.testutils.helpers.datetime import iso_format, before_now
  5. class GroupTestSnuba(TestCase, SnubaTestCase):
  6. def test_get_oldest_latest_for_environments(self):
  7. project = self.create_project()
  8. min_ago = iso_format(before_now(minutes=1))
  9. self.store_event(
  10. data={
  11. "event_id": "a" * 32,
  12. "environment": "production",
  13. "timestamp": min_ago,
  14. "fingerprint": ["group-1"],
  15. },
  16. project_id=project.id,
  17. )
  18. self.store_event(
  19. data={
  20. "event_id": "b" * 32,
  21. "environment": "production",
  22. "timestamp": min_ago,
  23. "fingerprint": ["group-1"],
  24. },
  25. project_id=project.id,
  26. )
  27. self.store_event(
  28. data={"event_id": "c" * 32, "timestamp": min_ago, "fingerprint": ["group-1"]},
  29. project_id=project.id,
  30. )
  31. group = Group.objects.first()
  32. assert group.get_latest_event_for_environments().event_id == "c" * 32
  33. assert group.get_latest_event_for_environments(["staging"]) is None
  34. assert group.get_latest_event_for_environments(["production"]).event_id == "b" * 32
  35. assert group.get_oldest_event_for_environments().event_id == "a" * 32
  36. assert (
  37. group.get_oldest_event_for_environments(["staging", "production"]).event_id == "a" * 32
  38. )
  39. assert group.get_oldest_event_for_environments(["staging"]) is None