diff options
| author | Dominique Bischof <dbischof@gmail.com> | 2023-03-03 08:03:27 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-03-03 08:18:54 +0100 |
| commit | 4338b6526d3604b371ac37134371946baa1ed0ce (patch) | |
| tree | 005a8da16fdac8abe66cb3a8585dbbe4bf6b9feb | |
| parent | 55bcbd8d172b689811fae17cde2f09218dd74e9c (diff) | |
Refs #31747 -- Added more tests for preserving query strings when redirect with APPEND_SLASH in admin.
| -rw-r--r-- | tests/admin_views/tests.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index 5f7aafe430..f1d098eb40 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -8515,6 +8515,23 @@ class AdminSiteFinalCatchAllPatternTests(TestCase): "/test_admin/admin/login/?next=/test_admin/admin/admin_views/article", ) + @override_settings(APPEND_SLASH=True) + def test_missing_slash_append_slash_true_non_staff_user_query_string(self): + user = User.objects.create_user( + username="user", + password="secret", + email="user@example.com", + is_staff=False, + ) + self.client.force_login(user) + known_url = reverse("admin:admin_views_article_changelist") + response = self.client.get("%s?id=1" % known_url[:-1]) + self.assertRedirects( + response, + "/test_admin/admin/login/?next=/test_admin/admin/admin_views/article" + "%3Fid%3D1", + ) + @override_settings(APPEND_SLASH=False) def test_missing_slash_append_slash_false(self): superuser = User.objects.create_user( @@ -8629,6 +8646,24 @@ class AdminSiteFinalCatchAllPatternTests(TestCase): response, known_url, status_code=301, target_status_code=403 ) + @override_settings(APPEND_SLASH=True) + def test_missing_slash_append_slash_true_query_without_final_catch_all_view(self): + superuser = User.objects.create_user( + username="staff", + password="secret", + email="staff@example.com", + is_staff=True, + ) + self.client.force_login(superuser) + known_url = reverse("admin10:admin_views_article_changelist") + response = self.client.get("%s?id=1" % known_url[:-1]) + self.assertRedirects( + response, + f"{known_url}?id=1", + status_code=301, + fetch_redirect_response=False, + ) + @override_settings(APPEND_SLASH=False) def test_missing_slash_append_slash_false_without_final_catch_all_view(self): superuser = User.objects.create_user( |
