summaryrefslogtreecommitdiff
path: root/tests/httpwrappers
diff options
context:
space:
mode:
Diffstat (limited to 'tests/httpwrappers')
-rw-r--r--tests/httpwrappers/tests.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/httpwrappers/tests.py b/tests/httpwrappers/tests.py
index 3774ff2d67..f85d33e823 100644
--- a/tests/httpwrappers/tests.py
+++ b/tests/httpwrappers/tests.py
@@ -566,6 +566,27 @@ class HttpResponseSubclassesTests(SimpleTestCase):
r = HttpResponseRedirect(lazystr("/redirected/"))
self.assertEqual(r.url, "/redirected/")
+ def test_redirect_modifiers(self):
+ cases = [
+ (HttpResponseRedirect, "Moved temporarily", False, 302),
+ (HttpResponseRedirect, "Moved temporarily preserve method", True, 307),
+ (HttpResponsePermanentRedirect, "Moved permanently", False, 301),
+ (
+ HttpResponsePermanentRedirect,
+ "Moved permanently preserve method",
+ True,
+ 308,
+ ),
+ ]
+ for response_class, content, preserve_request, expected_status_code in cases:
+ with self.subTest(status_code=expected_status_code):
+ response = response_class(
+ "/redirected/", content=content, preserve_request=preserve_request
+ )
+ self.assertEqual(response.status_code, expected_status_code)
+ self.assertEqual(response.content.decode(), content)
+ self.assertEqual(response.url, response.headers["Location"])
+
def test_redirect_repr(self):
response = HttpResponseRedirect("/redirected/")
expected = (