test_project_alert_settings.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. from __future__ import absolute_import
  2. from sentry.models import Rule
  3. from sentry.testutils import AcceptanceTestCase
  4. class ProjectAlertSettingsTest(AcceptanceTestCase):
  5. def setUp(self):
  6. super(ProjectAlertSettingsTest, self).setUp()
  7. self.user = self.create_user('foo@example.com')
  8. self.org = self.create_organization(
  9. name='Rowdy Tiger',
  10. owner=None,
  11. )
  12. self.team = self.create_team(organization=self.org, name='Mariachi Band')
  13. self.project = self.create_project(
  14. organization=self.org,
  15. teams=[self.team],
  16. name='Bengal',
  17. )
  18. self.create_member(
  19. user=self.user,
  20. organization=self.org,
  21. role='owner',
  22. teams=[self.team],
  23. )
  24. action_data = {
  25. 'id': 'sentry.rules.actions.notify_event.NotifyEventAction',
  26. }
  27. condition_data = {
  28. 'id': 'sentry.rules.conditions.every_event.EveryEventCondition',
  29. }
  30. Rule.objects.filter(project=self.project).delete()
  31. Rule.objects.create(
  32. project=self.project, data={
  33. 'conditions': [condition_data],
  34. 'actions': [action_data],
  35. }
  36. )
  37. self.login_as(self.user)
  38. self.path1 = u'/{}/{}/settings/alerts/'.format(self.org.slug, self.project.slug)
  39. self.path2 = u'/{}/{}/settings/alerts/rules/'.format(self.org.slug, self.project.slug)
  40. def test_settings_load(self):
  41. self.browser.get(self.path1)
  42. self.browser.wait_until_not('.loading-indicator')
  43. self.browser.snapshot('project alert settings')
  44. self.browser.wait_until('.ref-plugin-enable-webhooks')
  45. self.browser.click('.ref-plugin-enable-webhooks')
  46. self.browser.wait_until('.ref-plugin-config-webhooks')
  47. self.browser.wait_until_not('.loading-indicator')
  48. self.browser.snapshot('project alert settings webhooks enabled')
  49. def test_rules_load(self):
  50. self.browser.get(self.path2)
  51. self.browser.wait_until_not('.loading-indicator')
  52. self.browser.snapshot('project alert rules')