summaryrefslogtreecommitdiff
path: root/tests/admin_views/tests.py
diff options
context:
space:
mode:
authorSlava Skvortsov <kondor1995@mail.ru>2021-05-17 13:21:50 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-05-18 09:58:49 +0200
commitce78bc9808db279ab5db1b285518ca3eb189419c (patch)
treec243389f05f775be1785f0f72d46ca9dcb41c751 /tests/admin_views/tests.py
parentcb91b2d9e3e28d0ede24dbb052faa6e7fead5897 (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.py36
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',