test_group_details.py 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. from __future__ import absolute_import, print_function
  2. from sentry.utils.compat import mock
  3. from sentry.models import Environment
  4. from sentry.testutils import APITestCase, SnubaTestCase
  5. class GroupDetailsTest(APITestCase, SnubaTestCase):
  6. def test_multiple_environments(self):
  7. group = self.create_group()
  8. self.login_as(user=self.user)
  9. environment = Environment.get_or_create(group.project, "production")
  10. environment2 = Environment.get_or_create(group.project, "staging")
  11. url = u"/api/0/issues/{}/".format(group.id)
  12. from sentry.api.endpoints.group_details import tsdb
  13. with mock.patch(
  14. "sentry.api.endpoints.group_details.tsdb.get_range", side_effect=tsdb.get_range
  15. ) as get_range:
  16. response = self.client.get(
  17. "%s?environment=production&environment=staging" % (url,), format="json"
  18. )
  19. assert response.status_code == 200
  20. assert get_range.call_count == 2
  21. for args, kwargs in get_range.call_args_list:
  22. assert kwargs["environment_ids"] == [environment.id, environment2.id]
  23. response = self.client.get("%s?environment=invalid" % (url,), format="json")
  24. assert response.status_code == 404