diff options
| author | Slava Skvortsov <kondor1995@mail.ru> | 2021-05-17 13:21:50 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-05-18 09:58:49 +0200 |
| commit | ce78bc9808db279ab5db1b285518ca3eb189419c (patch) | |
| tree | c243389f05f775be1785f0f72d46ca9dcb41c751 /tests/admin_views/tests.py | |
| parent | cb91b2d9e3e28d0ede24dbb052faa6e7fead5897 (diff) | |
[3.2.x] Fixed #32754 -- Made AdminSite.catch_all_view() respect SCRIPT_NAME.
Regression in ba31b0103442ac891fb3cb98f316781254e366c3.
Backport of f7691d4812c578e696635718e67639d2e08eac40 from main
Diffstat (limited to 'tests/admin_views/tests.py')
| -rw-r--r-- | tests/admin_views/tests.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index 29b2283447..b432a2a2e2 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -6600,6 +6600,42 @@ class AdminSiteFinalCatchAllPatternTests(TestCase): self.assertRedirects(response, known_url, status_code=301, target_status_code=403) @override_settings(APPEND_SLASH=True) + def test_missing_slash_append_slash_true_script_name(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('admin:admin_views_article_changelist') + response = self.client.get(known_url[:-1], SCRIPT_NAME='/prefix/') + self.assertRedirects( + response, + '/prefix' + known_url, + status_code=301, + fetch_redirect_response=False, + ) + + @override_settings(APPEND_SLASH=True, FORCE_SCRIPT_NAME='/prefix/') + def test_missing_slash_append_slash_true_force_script_name(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('admin:admin_views_article_changelist') + response = self.client.get(known_url[:-1]) + self.assertRedirects( + response, + '/prefix' + known_url, + status_code=301, + fetch_redirect_response=False, + ) + + @override_settings(APPEND_SLASH=True) def test_missing_slash_append_slash_true_non_staff_user(self): user = User.objects.create_user( username='user', |
