summaryrefslogtreecommitdiff
path: root/tests/test_client
diff options
context:
space:
mode:
authorDavid Wobrock <david.wobrock@gmail.com>2022-10-09 22:33:35 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-11-14 10:21:51 +0100
commit67da22f08e05018ea968fcacbac9ac37ea925d85 (patch)
tree86c50e012c53b6f7910e1d221e98a7195441e335 /tests/test_client
parentb181cae2e3697b2e53b5b67ac67e59f3b05a6f0d (diff)
Fixed #34074 -- Added headers argument to RequestFactory and Client classes.
Diffstat (limited to 'tests/test_client')
-rw-r--r--tests/test_client/tests.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/test_client/tests.py b/tests/test_client/tests.py
index 5612ae4462..a0473c7310 100644
--- a/tests/test_client/tests.py
+++ b/tests/test_client/tests.py
@@ -1066,6 +1066,52 @@ class RequestFactoryTest(SimpleTestCase):
echoed_request_line = "TRACE {} {}".format(url_path, protocol)
self.assertContains(response, echoed_request_line)
+ def test_request_factory_default_headers(self):
+ request = RequestFactory(
+ HTTP_AUTHORIZATION="Bearer faketoken",
+ HTTP_X_ANOTHER_HEADER="some other value",
+ ).get("/somewhere/")
+ self.assertEqual(request.headers["authorization"], "Bearer faketoken")
+ self.assertIn("HTTP_AUTHORIZATION", request.META)
+ self.assertEqual(request.headers["x-another-header"], "some other value")
+ self.assertIn("HTTP_X_ANOTHER_HEADER", request.META)
+
+ request = RequestFactory(
+ headers={
+ "Authorization": "Bearer faketoken",
+ "X-Another-Header": "some other value",
+ }
+ ).get("/somewhere/")
+ self.assertEqual(request.headers["authorization"], "Bearer faketoken")
+ self.assertIn("HTTP_AUTHORIZATION", request.META)
+ self.assertEqual(request.headers["x-another-header"], "some other value")
+ self.assertIn("HTTP_X_ANOTHER_HEADER", request.META)
+
+ def test_request_factory_sets_headers(self):
+ for method_name, view in self.http_methods_and_views:
+ method = getattr(self.request_factory, method_name)
+ request = method(
+ "/somewhere/",
+ HTTP_AUTHORIZATION="Bearer faketoken",
+ HTTP_X_ANOTHER_HEADER="some other value",
+ )
+ self.assertEqual(request.headers["authorization"], "Bearer faketoken")
+ self.assertIn("HTTP_AUTHORIZATION", request.META)
+ self.assertEqual(request.headers["x-another-header"], "some other value")
+ self.assertIn("HTTP_X_ANOTHER_HEADER", request.META)
+
+ request = method(
+ "/somewhere/",
+ headers={
+ "Authorization": "Bearer faketoken",
+ "X-Another-Header": "some other value",
+ },
+ )
+ self.assertEqual(request.headers["authorization"], "Bearer faketoken")
+ self.assertIn("HTTP_AUTHORIZATION", request.META)
+ self.assertEqual(request.headers["x-another-header"], "some other value")
+ self.assertIn("HTTP_X_ANOTHER_HEADER", request.META)
+
@override_settings(ROOT_URLCONF="test_client.urls")
class AsyncClientTest(TestCase):
@@ -1176,6 +1222,18 @@ class AsyncRequestFactoryTest(SimpleTestCase):
self.assertEqual(request.headers["x-another-header"], "some other value")
self.assertIn("HTTP_X_ANOTHER_HEADER", request.META)
+ request = self.request_factory.get(
+ "/somewhere/",
+ headers={
+ "Authorization": "Bearer faketoken",
+ "X-Another-Header": "some other value",
+ },
+ )
+ self.assertEqual(request.headers["authorization"], "Bearer faketoken")
+ self.assertIn("HTTP_AUTHORIZATION", request.META)
+ self.assertEqual(request.headers["x-another-header"], "some other value")
+ self.assertIn("HTTP_X_ANOTHER_HEADER", request.META)
+
def test_request_factory_query_string(self):
request = self.request_factory.get("/somewhere/", {"example": "data"})
self.assertNotIn("Query-String", request.headers)