test_protected_urls_detection.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from unittest.mock import Mock
  2. from django.urls import reverse
  3. from ..views import get_protected_namespace
  4. django_admin_url = reverse("admin:index")
  5. misago_admin_url = reverse("misago:admin:index")
  6. site_url = reverse("misago:index")
  7. def test_request_to_misago_admin_root_url_is_protected():
  8. request = Mock(path=misago_admin_url)
  9. assert get_protected_namespace(request) == "misago:admin"
  10. def test_request_to_misago_admin_subpath_url_is_protected():
  11. request = Mock(path=misago_admin_url + "users/")
  12. assert get_protected_namespace(request) == "misago:admin"
  13. def test_request_to_django_admin_root_url_is_protected():
  14. request = Mock(path=django_admin_url)
  15. assert get_protected_namespace(request) == "admin"
  16. def test_request_to_django_admin_subpath_url_is_protected():
  17. request = Mock(path=django_admin_url + "users/")
  18. assert get_protected_namespace(request) == "admin"
  19. def test_request_to_site_root_url_is_not_protected():
  20. request = Mock(path=site_url)
  21. assert get_protected_namespace(request) is None
  22. def test_request_to_site_subpath_url_is_not_protected():
  23. request = Mock(path=site_url + "t/some-thread-123/")
  24. assert get_protected_namespace(request) is None
  25. def test_request_to_site_non_reversable_url_is_not_protected():
  26. request = Mock(path=site_url + "somewhere-custom/")
  27. assert get_protected_namespace(request) is None