test_logout_from_admin.py 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. from django.urls import reverse
  2. from ...test import assert_has_message
  3. from ..auth import is_admin_authorized
  4. admin_logout_link = reverse("misago:admin:logout")
  5. admin_link = reverse("misago:admin:index")
  6. site_logout_link = reverse("misago:logout")
  7. def test_admin_can_logout_from_admin_site_but_stay_logged(admin_client, superuser):
  8. response = admin_client.post(admin_logout_link)
  9. assert response.wsgi_request.user == superuser
  10. assert not is_admin_authorized(response.wsgi_request)
  11. def test_admin_is_redirected_to_login_form_on_logout(admin_client, superuser):
  12. response = admin_client.post(admin_logout_link)
  13. assert response.status_code == 302
  14. assert response["location"] == admin_link
  15. def test_admin_is_displayed_message_after_logout(admin_client, superuser):
  16. response = admin_client.post(admin_logout_link)
  17. assert_has_message(response, "Your admin session has been closed.")
  18. def test_admin_can_logout_from_entire_site(admin_client):
  19. response = admin_client.post(site_logout_link)
  20. assert response.wsgi_request.user.is_anonymous
  21. assert not is_admin_authorized(response.wsgi_request)