summaryrefslogtreecommitdiff
path: root/tests/httpwrappers
diff options
context:
space:
mode:
authorLorenzo Peña <lorinkoz@gmail.com>2024-11-14 19:53:49 +0100
committerGitHub <noreply@github.com>2024-11-14 15:53:49 -0300
commit91c879eda595c12477bbfa6f51115e88b75ddf88 (patch)
tree544ce7be64975158b6d3f0d0a8ea693ab7188aca /tests/httpwrappers
parent8590d05d44a4f3df56d988229e43d66c37df79da (diff)
Fixed #35784 -- Added support for preserving the HTTP request method in HttpResponseRedirectBase.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
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 = (