test_djangoadmin_auth.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from django.test import override_settings
  2. from django.urls import reverse
  3. from misago.admin.testutils 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={
  17. 'username': self.user.email,
  18. 'password': self.USER_PASSWORD,
  19. },
  20. )
  21. self.assertEqual(response.status_code, 302)
  22. response = self.client.get(reverse('admin:index'))
  23. self.assertEqual(response.status_code, 200)
  24. self.assertContains(response, self.user.username)
  25. def test_logout(self):
  26. """its possible to sign out from django admin"""
  27. response = self.client.get(reverse('admin:index'))
  28. self.assertEqual(response.status_code, 200)
  29. self.assertContains(response, self.user.username)
  30. # assert there's no showstopper on signout page
  31. response = self.client.get(reverse('admin:logout'))
  32. self.assertEqual(response.status_code, 200)
  33. self.assertNotContains(response, self.user.username)
  34. # user was signed out
  35. response = self.client.get(reverse('admin:index'))
  36. self.assertEqual(response.status_code, 200)
  37. self.assertNotContains(response, self.user.username)