Fixed #26666 -- Added more useful error message to assertRedirects
This commit is contained in:
parent
f6517a5335
commit
c7b1b81352
|
@ -303,6 +303,11 @@ class SimpleTestCase(unittest.TestCase):
|
||||||
path = urljoin(response.request['PATH_INFO'], path)
|
path = urljoin(response.request['PATH_INFO'], path)
|
||||||
|
|
||||||
if fetch_redirect_response:
|
if fetch_redirect_response:
|
||||||
|
if netloc:
|
||||||
|
raise ValueError(
|
||||||
|
"The Django test client is unable to fetch remote URLs (got %s). "
|
||||||
|
"Use assertRedirects(..., fetch_redirect_response=False) instead." % url
|
||||||
|
)
|
||||||
redirect_response = response.client.get(path, QueryDict(query), secure=(scheme == 'https'))
|
redirect_response = response.client.get(path, QueryDict(query), secure=(scheme == 'https'))
|
||||||
|
|
||||||
# Get the redirection page, using the same client that was used
|
# Get the redirection page, using the same client that was used
|
||||||
|
|
|
@ -595,6 +595,15 @@ class ClientTest(TestCase):
|
||||||
response = self.client.get('/django_project_redirect/')
|
response = self.client.get('/django_project_redirect/')
|
||||||
self.assertRedirects(response, 'https://www.djangoproject.com/', fetch_redirect_response=False)
|
self.assertRedirects(response, 'https://www.djangoproject.com/', fetch_redirect_response=False)
|
||||||
|
|
||||||
|
def test_external_redirect_with_fetch_error_msg(self):
|
||||||
|
"""
|
||||||
|
Check that assertRedirects without fetch_redirect_response=False raises
|
||||||
|
a relevant ValueError rather than a non-descript AssertionError.
|
||||||
|
"""
|
||||||
|
response = self.client.get('/django_project_redirect/')
|
||||||
|
with self.assertRaisesMessage(ValueError, 'unable to fetch'):
|
||||||
|
self.assertRedirects(response, 'https://www.djangoproject.com/')
|
||||||
|
|
||||||
def test_session_modifying_view(self):
|
def test_session_modifying_view(self):
|
||||||
"Request a page that modifies the session"
|
"Request a page that modifies the session"
|
||||||
# Session value isn't set initially
|
# Session value isn't set initially
|
||||||
|
|
Loading…
Reference in New Issue