test_djangoadmin_auth.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from django.test import override_settings
  2. from django.urls import reverse
  3. from misago.admin.test import AdminTestCase
  4. @override_settings(ROOT_URLCONF="misago.core.testproject.urls")
  5. class DjangoAdminAuthTests(AdminTestCase):
  6. """assertions for Django admin auth interop with Misago User Model"""
  7. def test_login(self):
  8. """its possible to sign in to django admin"""
  9. self.logout_user()
  10. # form renders
  11. response = self.client.get(reverse("admin:index"))
  12. self.assertEqual(response.status_code, 200)
  13. # form handles login
  14. response = self.client.post(
  15. reverse("admin:index"),
  16. data={"username": self.user.email, "password": self.USER_PASSWORD},
  17. )
  18. self.assertEqual(response.status_code, 302)
  19. response = self.client.get(reverse("admin:index"))
  20. self.assertEqual(response.status_code, 200)
  21. self.assertContains(response, self.user.username)
  22. def test_logout(self):
  23. """its possible to sign out from django admin"""
  24. response = self.client.get(reverse("admin:index"))
  25. self.assertEqual(response.status_code, 200)
  26. self.assertContains(response, self.user.username)
  27. # assert there's no showstopper on signout page
  28. response = self.client.get(reverse("admin:logout"))
  29. self.assertEqual(response.status_code, 200)
  30. self.assertNotContains(response, self.user.username)
  31. # user was signed out
  32. response = self.client.get(reverse("admin:index"))
  33. self.assertEqual(response.status_code, 200)
  34. self.assertNotContains(response, self.user.username)