1
0
mirror of https://github.com/django/django.git synced 2025-11-07 07:15:35 +00:00

Refs #34074 -- Used headers argument for RequestFactory and Client in docs and tests.

This commit is contained in:
David Wobrock
2022-12-24 00:10:25 +01:00
committed by Mariusz Felisiak
parent 0d3ccf7512
commit 99bd5fb4c2
14 changed files with 113 additions and 74 deletions

View File

@@ -41,7 +41,7 @@ class CsrfViewTests(SimpleTestCase):
Referer header is strictly checked for POST over HTTPS. Trigger the
exception by sending an incorrect referer.
"""
response = self.client.post("/", HTTP_X_FORWARDED_PROTO="https")
response = self.client.post("/", headers={"x-forwarded-proto": "https"})
self.assertContains(
response,
"You are seeing this message because this HTTPS site requires a "

View File

@@ -237,7 +237,7 @@ class DebugViewTests(SimpleTestCase):
html=True,
)
with self.assertLogs("django.request", "ERROR"):
response = self.client.get("/raises500/", HTTP_ACCEPT="text/plain")
response = self.client.get("/raises500/", headers={"accept": "text/plain"})
self.assertContains(
response,
"Raised during: view_tests.views.raises500",
@@ -254,7 +254,9 @@ class DebugViewTests(SimpleTestCase):
html=True,
)
with self.assertLogs("django.request", "ERROR"):
response = self.client.get("/classbased500/", HTTP_ACCEPT="text/plain")
response = self.client.get(
"/classbased500/", headers={"accept": "text/plain"}
)
self.assertContains(
response,
"Raised during: view_tests.views.Raises500View",
@@ -432,7 +434,7 @@ class DebugViewTests(SimpleTestCase):
)
with self.assertLogs("django.request", "ERROR"):
response = self.client.get("/raises500/", HTTP_ACCEPT="text/plain")
response = self.client.get("/raises500/", headers={"accept": "text/plain"})
self.assertContains(response, "Oh dear, an error occurred!", status_code=500)
@@ -1116,7 +1118,7 @@ class ExceptionReporterTests(SimpleTestCase):
@override_settings(ALLOWED_HOSTS="example.com")
def test_disallowed_host(self):
"An exception report can be generated even for a disallowed host."
request = self.rf.get("/", HTTP_HOST="evil.com")
request = self.rf.get("/", headers={"host": "evil.com"})
reporter = ExceptionReporter(request, None, None, None)
html = reporter.get_traceback_html()
self.assertIn("http://evil.com/", html)
@@ -1201,7 +1203,7 @@ class ExceptionReporterTests(SimpleTestCase):
@override_settings(ALLOWED_HOSTS=["example.com"])
def test_get_raw_insecure_uri(self):
factory = RequestFactory(HTTP_HOST="evil.com")
factory = RequestFactory(headers={"host": "evil.com"})
tests = [
("////absolute-uri", "http://evil.com//absolute-uri"),
("/?foo=bar", "http://evil.com/?foo=bar"),
@@ -1326,7 +1328,7 @@ class PlainTextReportTests(SimpleTestCase):
@override_settings(ALLOWED_HOSTS="example.com")
def test_disallowed_host(self):
"An exception report can be generated even for a disallowed host."
request = self.rf.get("/", HTTP_HOST="evil.com")
request = self.rf.get("/", headers={"host": "evil.com"})
reporter = ExceptionReporter(request, None, None, None)
text = reporter.get_traceback_text()
self.assertIn("http://evil.com/", text)
@@ -1787,7 +1789,7 @@ class ExceptionReporterFilterTests(
)
def test_request_meta_filtering(self):
request = self.rf.get("/", HTTP_SECRET_HEADER="super_secret")
request = self.rf.get("/", headers={"secret-header": "super_secret"})
reporter_filter = SafeExceptionReporterFilter()
self.assertEqual(
reporter_filter.get_safe_request_meta(request)["HTTP_SECRET_HEADER"],
@@ -1795,12 +1797,13 @@ class ExceptionReporterFilterTests(
)
def test_exception_report_uses_meta_filtering(self):
response = self.client.get("/raises500/", HTTP_SECRET_HEADER="super_secret")
response = self.client.get(
"/raises500/", headers={"secret-header": "super_secret"}
)
self.assertNotIn(b"super_secret", response.content)
response = self.client.get(
"/raises500/",
HTTP_SECRET_HEADER="super_secret",
HTTP_ACCEPT="application/json",
headers={"secret-header": "super_secret", "accept": "application/json"},
)
self.assertNotIn(b"super_secret", response.content)
@@ -1863,7 +1866,7 @@ class NonHTMLResponseExceptionReporterFilter(
Refs #14614.
"""
rf = RequestFactory(HTTP_ACCEPT="application/json")
rf = RequestFactory(headers={"accept": "application/json"})
def test_non_sensitive_request(self):
"""
@@ -1915,7 +1918,9 @@ class NonHTMLResponseExceptionReporterFilter(
@override_settings(DEBUG=True, ROOT_URLCONF="view_tests.urls")
def test_non_html_response_encoding(self):
response = self.client.get("/raises500/", HTTP_ACCEPT="application/json")
response = self.client.get(
"/raises500/", headers={"accept": "application/json"}
)
self.assertEqual(response.headers["Content-Type"], "text/plain; charset=utf-8")

View File

@@ -38,7 +38,7 @@ class SetLanguageTests(TestCase):
lang_code = self._get_inactive_language_code()
post_data = {"language": lang_code, "next": "/"}
response = self.client.post(
"/i18n/setlang/", post_data, HTTP_REFERER="/i_should_not_be_used/"
"/i18n/setlang/", post_data, headers={"referer": "/i_should_not_be_used/"}
)
self.assertRedirects(response, "/")
# The language is set in a cookie.
@@ -80,7 +80,7 @@ class SetLanguageTests(TestCase):
)
# Insecure URL in HTTP referer.
response = self.client.post(
"/i18n/setlang/", secure=True, HTTP_REFERER=non_https_next_url
"/i18n/setlang/", secure=True, headers={"referer": non_https_next_url}
)
self.assertEqual(response.url, "/")
self.assertEqual(
@@ -94,7 +94,9 @@ class SetLanguageTests(TestCase):
"""
lang_code = self._get_inactive_language_code()
post_data = {"language": lang_code}
response = self.client.post("/i18n/setlang/", post_data, HTTP_REFERER="/i18n/")
response = self.client.post(
"/i18n/setlang/", post_data, headers={"referer": "/i18n/"}
)
self.assertRedirects(response, "/i18n/", fetch_redirect_response=False)
self.assertEqual(
self.client.cookies[settings.LANGUAGE_COOKIE_NAME].value, lang_code
@@ -121,7 +123,7 @@ class SetLanguageTests(TestCase):
lang_code = self._get_inactive_language_code()
post_data = {"language": lang_code, "next": "/"}
response = self.client.post(
"/i18n/setlang/", post_data, HTTP_ACCEPT="application/json"
"/i18n/setlang/", post_data, headers={"accept": "application/json"}
)
self.assertRedirects(response, "/")
self.assertEqual(
@@ -150,7 +152,7 @@ class SetLanguageTests(TestCase):
lang_code = self._get_inactive_language_code()
post_data = {"language": lang_code}
response = self.client.post(
"/i18n/setlang/", post_data, HTTP_ACCEPT="application/json"
"/i18n/setlang/", post_data, headers={"accept": "application/json"}
)
self.assertEqual(response.status_code, 204)
self.assertEqual(
@@ -165,7 +167,7 @@ class SetLanguageTests(TestCase):
lang_code = self._get_inactive_language_code()
post_data = {"language": lang_code, "next": "//unsafe/redirection/"}
response = self.client.post(
"/i18n/setlang/", post_data, HTTP_ACCEPT="application/json"
"/i18n/setlang/", post_data, headers={"accept": "application/json"}
)
self.assertEqual(response.url, "/")
self.assertEqual(
@@ -213,7 +215,7 @@ class SetLanguageTests(TestCase):
# %C3%A4 decodes to ä, %26 to &.
encoded_url = "/test-setlang/%C3%A4/?foo=bar&baz=alpha%26omega"
response = self.client.post(
"/i18n/setlang/", {"language": lang_code}, HTTP_REFERER=encoded_url
"/i18n/setlang/", {"language": lang_code}, headers={"referer": encoded_url}
)
self.assertRedirects(response, encoded_url, fetch_redirect_response=False)
self.assertEqual(
@@ -230,7 +232,7 @@ class SetLanguageTests(TestCase):
"/i18n/setlang/",
data={"language": "nl"},
follow=True,
HTTP_REFERER="/en/translated/",
headers={"referer": "/en/translated/"},
)
self.assertEqual(self.client.cookies[settings.LANGUAGE_COOKIE_NAME].value, "nl")
self.assertRedirects(response, "/nl/vertaald/")
@@ -239,7 +241,7 @@ class SetLanguageTests(TestCase):
"/i18n/setlang/",
data={"language": "en"},
follow=True,
HTTP_REFERER="/nl/vertaald/",
headers={"referer": "/nl/vertaald/"},
)
self.assertRedirects(response, "/en/translated/")

View File

@@ -63,7 +63,7 @@ class StaticTests(SimpleTestCase):
file_name = "file.txt"
response = self.client.get(
"/%s/%s" % (self.prefix, file_name),
HTTP_IF_MODIFIED_SINCE="Thu, 1 Jan 1970 00:00:00 GMT",
headers={"if-modified-since": "Thu, 1 Jan 1970 00:00:00 GMT"},
)
response_content = b"".join(response)
with open(path.join(media_dir, file_name), "rb") as fp:
@@ -73,9 +73,11 @@ class StaticTests(SimpleTestCase):
file_name = "file.txt"
response = self.client.get(
"/%s/%s" % (self.prefix, file_name),
HTTP_IF_MODIFIED_SINCE="Mon, 18 Jan 2038 05:14:07 GMT"
# This is 24h before max Unix time. Remember to fix Django and
# update this test well before 2038 :)
headers={
# This is 24h before max Unix time. Remember to fix Django and
# update this test well before 2038 :)
"if-modified-since": "Mon, 18 Jan 2038 05:14:07 GMT"
},
)
self.assertIsInstance(response, HttpResponseNotModified)
@@ -88,7 +90,8 @@ class StaticTests(SimpleTestCase):
file_name = "file.txt"
invalid_date = "Mon, 28 May 999999999999 28:25:26 GMT"
response = self.client.get(
"/%s/%s" % (self.prefix, file_name), HTTP_IF_MODIFIED_SINCE=invalid_date
"/%s/%s" % (self.prefix, file_name),
headers={"if-modified-since": invalid_date},
)
response_content = b"".join(response)
with open(path.join(media_dir, file_name), "rb") as fp:
@@ -104,7 +107,8 @@ class StaticTests(SimpleTestCase):
file_name = "file.txt"
invalid_date = ": 1291108438, Wed, 20 Oct 2010 14:05:00 GMT"
response = self.client.get(
"/%s/%s" % (self.prefix, file_name), HTTP_IF_MODIFIED_SINCE=invalid_date
"/%s/%s" % (self.prefix, file_name),
headers={"if-modified-since": invalid_date},
)
response_content = b"".join(response)
with open(path.join(media_dir, file_name), "rb") as fp: