From 91c879eda595c12477bbfa6f51115e88b75ddf88 Mon Sep 17 00:00:00 2001 From: Lorenzo Peña Date: Thu, 14 Nov 2024 19:53:49 +0100 Subject: Fixed #35784 -- Added support for preserving the HTTP request method in HttpResponseRedirectBase. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com> --- tests/httpwrappers/tests.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'tests/httpwrappers') 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 = ( -- cgit v1.3