diff options
| author | Olivier Tabone <olivier.tabone@ripplemotion.fr> | 2023-08-04 09:14:19 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-08-30 06:12:25 +0200 |
| commit | 3f8dbe267d35f0219277f0fe2d79915a4fb2b045 (patch) | |
| tree | b818499facc91df69c936e746d93c6081c776e41 /tests/test_client | |
| parent | 1ac397674b2f64d48e66502a20b9d9ca6bfb579a (diff) | |
Fixed #34757 -- Added support for following redirects to AsyncClient.
Diffstat (limited to 'tests/test_client')
| -rw-r--r-- | tests/test_client/tests.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/test_client/tests.py b/tests/test_client/tests.py index a5e980f3d0..402f282588 100644 --- a/tests/test_client/tests.py +++ b/tests/test_client/tests.py @@ -1135,8 +1135,11 @@ class AsyncClientTest(TestCase): response = await self.async_client.get("/middleware_urlconf_view/") self.assertEqual(response.resolver_match.url_name, "middleware_urlconf_view") - async def test_follow_parameter_not_implemented(self): - msg = "AsyncClient request methods do not accept the follow parameter." + async def test_redirect(self): + response = await self.async_client.get("/redirect_view/") + self.assertEqual(response.status_code, 302) + + async def test_follow_redirect(self): tests = ( "get", "post", @@ -1150,8 +1153,16 @@ class AsyncClientTest(TestCase): for method_name in tests: with self.subTest(method=method_name): method = getattr(self.async_client, method_name) - with self.assertRaisesMessage(NotImplementedError, msg): - await method("/redirect_view/", follow=True) + response = await method("/redirect_view/", follow=True) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.resolver_match.url_name, "get_view") + + async def test_follow_double_redirect(self): + response = await self.async_client.get("/double_redirect_view/", follow=True) + self.assertRedirects( + response, "/get_view/", status_code=302, target_status_code=200 + ) + self.assertEqual(len(response.redirect_chain), 2) async def test_get_data(self): response = await self.async_client.get("/get_view/", {"var": "val"}) |
