test_auth.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from __future__ import absolute_import
  2. from sentry.testutils import AcceptanceTestCase
  3. class AuthTest(AcceptanceTestCase):
  4. def enter_auth(self, username, password):
  5. # disable captcha as it makes these tests flakey (and requires waiting
  6. # on external resources)
  7. with self.settings(RECAPTCHA_PUBLIC_KEY=None):
  8. self.browser.get('/auth/login/')
  9. self.browser.find_element_by_id('id_username').send_keys(username)
  10. self.browser.find_element_by_id('id_password').send_keys(password)
  11. self.browser.find_element_by_xpath("//button[contains(text(), 'Login')]").click()
  12. def test_renders(self):
  13. self.browser.get('/auth/login/')
  14. self.browser.snapshot(name='login')
  15. def test_no_credentials(self):
  16. self.enter_auth('', '')
  17. self.browser.snapshot(name='login fields required')
  18. def test_invalid_credentials(self):
  19. self.enter_auth('bad-username', 'bad-username')
  20. self.browser.snapshot(name='login fields invalid')
  21. def test_success(self):
  22. email = 'dummy@example.com'
  23. password = 'dummy'
  24. user = self.create_user(email=email)
  25. user.set_password(password)
  26. user.save()
  27. self.enter_auth(email, password)
  28. self.browser.snapshot(name='login success')