test_auth.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from __future__ import absolute_import
  2. from sentry.testutils import AcceptanceTestCase
  3. class AuthTest(AcceptanceTestCase):
  4. def enter_auth(self, username, password):
  5. self.browser.get("/auth/login/")
  6. self.browser.driver.execute_script(
  7. "document.addEventListener('invalid', function(e) { e.preventDefault(); }, true);"
  8. )
  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(), 'Continue')]").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.wait_until_not(".loading")
  29. self.browser.snapshot(name="login success")