mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Refs #34074 -- Used headers argument for RequestFactory and Client in docs and tests.
This commit is contained in:
committed by
Mariusz Felisiak
parent
0d3ccf7512
commit
99bd5fb4c2
@@ -252,29 +252,39 @@ class URLRedirectTests(URLTestCaseBase):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_en_redirect(self):
|
||||
response = self.client.get("/account/register/", HTTP_ACCEPT_LANGUAGE="en")
|
||||
response = self.client.get(
|
||||
"/account/register/", headers={"accept-language": "en"}
|
||||
)
|
||||
self.assertRedirects(response, "/en/account/register/")
|
||||
|
||||
response = self.client.get(response.headers["location"])
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_en_redirect_wrong_url(self):
|
||||
response = self.client.get("/profiel/registreren/", HTTP_ACCEPT_LANGUAGE="en")
|
||||
response = self.client.get(
|
||||
"/profiel/registreren/", headers={"accept-language": "en"}
|
||||
)
|
||||
self.assertEqual(response.status_code, 404)
|
||||
|
||||
def test_nl_redirect(self):
|
||||
response = self.client.get("/profiel/registreren/", HTTP_ACCEPT_LANGUAGE="nl")
|
||||
response = self.client.get(
|
||||
"/profiel/registreren/", headers={"accept-language": "nl"}
|
||||
)
|
||||
self.assertRedirects(response, "/nl/profiel/registreren/")
|
||||
|
||||
response = self.client.get(response.headers["location"])
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_nl_redirect_wrong_url(self):
|
||||
response = self.client.get("/account/register/", HTTP_ACCEPT_LANGUAGE="nl")
|
||||
response = self.client.get(
|
||||
"/account/register/", headers={"accept-language": "nl"}
|
||||
)
|
||||
self.assertEqual(response.status_code, 404)
|
||||
|
||||
def test_pt_br_redirect(self):
|
||||
response = self.client.get("/conta/registre-se/", HTTP_ACCEPT_LANGUAGE="pt-br")
|
||||
response = self.client.get(
|
||||
"/conta/registre-se/", headers={"accept-language": "pt-br"}
|
||||
)
|
||||
self.assertRedirects(response, "/pt-br/conta/registre-se/")
|
||||
|
||||
response = self.client.get(response.headers["location"])
|
||||
@@ -282,7 +292,9 @@ class URLRedirectTests(URLTestCaseBase):
|
||||
|
||||
def test_pl_pl_redirect(self):
|
||||
# language from outside of the supported LANGUAGES list
|
||||
response = self.client.get("/account/register/", HTTP_ACCEPT_LANGUAGE="pl-pl")
|
||||
response = self.client.get(
|
||||
"/account/register/", headers={"accept-language": "pl-pl"}
|
||||
)
|
||||
self.assertRedirects(response, "/en/account/register/")
|
||||
|
||||
response = self.client.get(response.headers["location"])
|
||||
@@ -295,7 +307,9 @@ class URLRedirectTests(URLTestCaseBase):
|
||||
],
|
||||
)
|
||||
def test_custom_redirect_class(self):
|
||||
response = self.client.get("/account/register/", HTTP_ACCEPT_LANGUAGE="en")
|
||||
response = self.client.get(
|
||||
"/account/register/", headers={"accept-language": "en"}
|
||||
)
|
||||
self.assertRedirects(response, "/en/account/register/", 301)
|
||||
|
||||
|
||||
@@ -314,7 +328,9 @@ class URLVaryAcceptLanguageTests(URLTestCaseBase):
|
||||
The redirect to a prefixed URL depends on 'Accept-Language' and
|
||||
'Cookie', but once prefixed no header is set.
|
||||
"""
|
||||
response = self.client.get("/account/register/", HTTP_ACCEPT_LANGUAGE="en")
|
||||
response = self.client.get(
|
||||
"/account/register/", headers={"accept-language": "en"}
|
||||
)
|
||||
self.assertRedirects(response, "/en/account/register/")
|
||||
self.assertEqual(response.get("Vary"), "Accept-Language, Cookie")
|
||||
|
||||
@@ -330,19 +346,19 @@ class URLRedirectWithoutTrailingSlashTests(URLTestCaseBase):
|
||||
"""
|
||||
|
||||
def test_not_prefixed_redirect(self):
|
||||
response = self.client.get("/not-prefixed", HTTP_ACCEPT_LANGUAGE="en")
|
||||
response = self.client.get("/not-prefixed", headers={"accept-language": "en"})
|
||||
self.assertRedirects(response, "/not-prefixed/", 301)
|
||||
|
||||
def test_en_redirect(self):
|
||||
response = self.client.get(
|
||||
"/account/register", HTTP_ACCEPT_LANGUAGE="en", follow=True
|
||||
"/account/register", headers={"accept-language": "en"}, follow=True
|
||||
)
|
||||
# We only want one redirect, bypassing CommonMiddleware
|
||||
self.assertEqual(response.redirect_chain, [("/en/account/register/", 302)])
|
||||
self.assertRedirects(response, "/en/account/register/", 302)
|
||||
|
||||
response = self.client.get(
|
||||
"/prefixed.xml", HTTP_ACCEPT_LANGUAGE="en", follow=True
|
||||
"/prefixed.xml", headers={"accept-language": "en"}, follow=True
|
||||
)
|
||||
self.assertRedirects(response, "/en/prefixed.xml", 302)
|
||||
|
||||
@@ -355,13 +371,13 @@ class URLRedirectWithoutTrailingSlashSettingTests(URLTestCaseBase):
|
||||
|
||||
@override_settings(APPEND_SLASH=False)
|
||||
def test_not_prefixed_redirect(self):
|
||||
response = self.client.get("/not-prefixed", HTTP_ACCEPT_LANGUAGE="en")
|
||||
response = self.client.get("/not-prefixed", headers={"accept-language": "en"})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
|
||||
@override_settings(APPEND_SLASH=False)
|
||||
def test_en_redirect(self):
|
||||
response = self.client.get(
|
||||
"/account/register-without-slash", HTTP_ACCEPT_LANGUAGE="en"
|
||||
"/account/register-without-slash", headers={"accept-language": "en"}
|
||||
)
|
||||
self.assertRedirects(response, "/en/account/register-without-slash", 302)
|
||||
|
||||
@@ -424,7 +440,7 @@ class URLRedirectWithScriptAliasTests(URLTestCaseBase):
|
||||
prefix = "/script_prefix"
|
||||
with override_script_prefix(prefix):
|
||||
response = self.client.get(
|
||||
"/prefixed/", HTTP_ACCEPT_LANGUAGE="en", SCRIPT_NAME=prefix
|
||||
"/prefixed/", headers={"accept-language": "en"}, SCRIPT_NAME=prefix
|
||||
)
|
||||
self.assertRedirects(
|
||||
response, "%s/en/prefixed/" % prefix, target_status_code=404
|
||||
|
||||
@@ -1778,7 +1778,7 @@ class MiscTests(SimpleTestCase):
|
||||
]
|
||||
for header, expected in tests:
|
||||
with self.subTest(header=header):
|
||||
request = self.rf.get("/", HTTP_ACCEPT_LANGUAGE=header)
|
||||
request = self.rf.get("/", headers={"accept-language": header})
|
||||
self.assertEqual(get_language_from_request(request), expected)
|
||||
|
||||
@override_settings(
|
||||
@@ -1799,10 +1799,10 @@ class MiscTests(SimpleTestCase):
|
||||
refs #18419 -- this is explicitly for browser compatibility
|
||||
"""
|
||||
g = get_language_from_request
|
||||
request = self.rf.get("/", HTTP_ACCEPT_LANGUAGE="zh-cn,en")
|
||||
request = self.rf.get("/", headers={"accept-language": "zh-cn,en"})
|
||||
self.assertEqual(g(request), "zh-hans")
|
||||
|
||||
request = self.rf.get("/", HTTP_ACCEPT_LANGUAGE="zh-tw,en")
|
||||
request = self.rf.get("/", headers={"accept-language": "zh-tw,en"})
|
||||
self.assertEqual(g(request), "zh-hant")
|
||||
|
||||
def test_special_fallback_language(self):
|
||||
@@ -1810,7 +1810,7 @@ class MiscTests(SimpleTestCase):
|
||||
Some languages may have special fallbacks that don't follow the simple
|
||||
'fr-ca' -> 'fr' logic (notably Chinese codes).
|
||||
"""
|
||||
request = self.rf.get("/", HTTP_ACCEPT_LANGUAGE="zh-my,en")
|
||||
request = self.rf.get("/", headers={"accept-language": "zh-my,en"})
|
||||
self.assertEqual(get_language_from_request(request), "zh-hans")
|
||||
|
||||
def test_subsequent_code_fallback_language(self):
|
||||
@@ -1828,7 +1828,7 @@ class MiscTests(SimpleTestCase):
|
||||
]
|
||||
for value, expected in tests:
|
||||
with self.subTest(value=value):
|
||||
request = self.rf.get("/", HTTP_ACCEPT_LANGUAGE=f"{value},en")
|
||||
request = self.rf.get("/", headers={"accept-language": f"{value},en"})
|
||||
self.assertEqual(get_language_from_request(request), expected)
|
||||
|
||||
def test_parse_language_cookie(self):
|
||||
@@ -1840,7 +1840,7 @@ class MiscTests(SimpleTestCase):
|
||||
request.COOKIES[settings.LANGUAGE_COOKIE_NAME] = "pt"
|
||||
self.assertEqual("pt", g(request))
|
||||
|
||||
request = self.rf.get("/", HTTP_ACCEPT_LANGUAGE="de")
|
||||
request = self.rf.get("/", headers={"accept-language": "de"})
|
||||
request.COOKIES[settings.LANGUAGE_COOKIE_NAME] = "es"
|
||||
self.assertEqual("es", g(request))
|
||||
|
||||
@@ -1854,7 +1854,7 @@ class MiscTests(SimpleTestCase):
|
||||
# translation to variation (zh-hans) the user sets zh-hans as the
|
||||
# preferred language, it should be selected without falling back nor
|
||||
# ignoring it.
|
||||
request = self.rf.get("/", HTTP_ACCEPT_LANGUAGE="de")
|
||||
request = self.rf.get("/", headers={"accept-language": "de"})
|
||||
request.COOKIES[settings.LANGUAGE_COOKIE_NAME] = "zh-hans"
|
||||
self.assertEqual(g(request), "zh-hans")
|
||||
|
||||
@@ -1957,7 +1957,7 @@ class MiscTests(SimpleTestCase):
|
||||
previously valid should not be used (#14170).
|
||||
"""
|
||||
g = get_language_from_request
|
||||
request = self.rf.get("/", HTTP_ACCEPT_LANGUAGE="pt-br")
|
||||
request = self.rf.get("/", headers={"accept-language": "pt-br"})
|
||||
self.assertEqual("pt-br", g(request))
|
||||
with self.settings(LANGUAGES=[("en", "English")]):
|
||||
self.assertNotEqual("pt-br", g(request))
|
||||
@@ -2215,13 +2215,13 @@ class CountrySpecificLanguageTests(SimpleTestCase):
|
||||
def test_get_language_from_request(self):
|
||||
# issue 19919
|
||||
request = self.rf.get(
|
||||
"/", HTTP_ACCEPT_LANGUAGE="en-US,en;q=0.8,bg;q=0.6,ru;q=0.4"
|
||||
"/", headers={"accept-language": "en-US,en;q=0.8,bg;q=0.6,ru;q=0.4"}
|
||||
)
|
||||
lang = get_language_from_request(request)
|
||||
self.assertEqual("en-us", lang)
|
||||
|
||||
request = self.rf.get(
|
||||
"/", HTTP_ACCEPT_LANGUAGE="bg-bg,en-US;q=0.8,en;q=0.6,ru;q=0.4"
|
||||
"/", headers={"accept-language": "bg-bg,en-US;q=0.8,en;q=0.6,ru;q=0.4"}
|
||||
)
|
||||
lang = get_language_from_request(request)
|
||||
self.assertEqual("bg", lang)
|
||||
@@ -2233,13 +2233,13 @@ class CountrySpecificLanguageTests(SimpleTestCase):
|
||||
def test_specific_language_codes(self):
|
||||
# issue 11915
|
||||
request = self.rf.get(
|
||||
"/", HTTP_ACCEPT_LANGUAGE="pt,en-US;q=0.8,en;q=0.6,ru;q=0.4"
|
||||
"/", headers={"accept-language": "pt,en-US;q=0.8,en;q=0.6,ru;q=0.4"}
|
||||
)
|
||||
lang = get_language_from_request(request)
|
||||
self.assertEqual("pt-br", lang)
|
||||
|
||||
request = self.rf.get(
|
||||
"/", HTTP_ACCEPT_LANGUAGE="pt-pt,en-US;q=0.8,en;q=0.6,ru;q=0.4"
|
||||
"/", headers={"accept-language": "pt-pt,en-US;q=0.8,en;q=0.6,ru;q=0.4"}
|
||||
)
|
||||
lang = get_language_from_request(request)
|
||||
self.assertEqual("pt-br", lang)
|
||||
|
||||
Reference in New Issue
Block a user