diff options
Diffstat (limited to 'tests/httpwrappers')
| -rw-r--r-- | tests/httpwrappers/tests.py | 21 |
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 = ( |
