test_group_events_latest.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. from __future__ import absolute_import
  2. import six
  3. from sentry.models import Group
  4. from sentry.testutils import APITestCase, SnubaTestCase
  5. from sentry.testutils.helpers.datetime import iso_format, before_now
  6. class GroupEventsLatestTest(APITestCase, SnubaTestCase):
  7. def setUp(self):
  8. super(GroupEventsLatestTest, self).setUp()
  9. self.login_as(user=self.user)
  10. project = self.create_project()
  11. min_ago = iso_format(before_now(minutes=1))
  12. two_min_ago = iso_format(before_now(minutes=2))
  13. self.event1 = self.store_event(
  14. data={
  15. "event_id": "a" * 32,
  16. "environment": "staging",
  17. "fingerprint": ["group_1"],
  18. "timestamp": two_min_ago,
  19. },
  20. project_id=project.id,
  21. )
  22. self.event2 = self.store_event(
  23. data={
  24. "event_id": "b" * 32,
  25. "environment": "production",
  26. "fingerprint": ["group_1"],
  27. "timestamp": min_ago,
  28. },
  29. project_id=project.id,
  30. )
  31. self.group = Group.objects.first()
  32. def test_snuba_no_environment(self):
  33. url = u"/api/0/issues/{}/events/latest/".format(self.group.id)
  34. response = self.client.get(url, format="json")
  35. assert response.status_code == 200
  36. assert response.data["id"] == six.text_type(self.event2.event_id)
  37. def test_snuba_environment(self):
  38. url = u"/api/0/issues/{}/events/latest/".format(self.group.id)
  39. response = self.client.get(url, format="json", data={"environment": ["production"]})
  40. assert response.status_code == 200
  41. assert response.data["id"] == six.text_type(self.event2.event_id)
  42. def test_simple(self):
  43. url = u"/api/0/issues/{}/events/latest/".format(self.group.id)
  44. response = self.client.get(url, format="json")
  45. assert response.status_code == 200
  46. assert response.data["eventID"] == six.text_type(self.event2.event_id)