diff options
Diffstat (limited to 'tests/view_tests')
| -rw-r--r-- | tests/view_tests/tests/test_debug.py | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/tests/view_tests/tests/test_debug.py b/tests/view_tests/tests/test_debug.py index 8aae115bb0..b411387eac 100644 --- a/tests/view_tests/tests/test_debug.py +++ b/tests/view_tests/tests/test_debug.py @@ -57,22 +57,25 @@ class CallableSettingWrapperTests(SimpleTestCase): @override_settings(DEBUG=True, ROOT_URLCONF='view_tests.urls') -class DebugViewTests(LoggingCaptureMixin, SimpleTestCase): +class DebugViewTests(SimpleTestCase): def test_files(self): - response = self.client.get('/raises/') + with self.assertLogs('django.request', 'ERROR'): + response = self.client.get('/raises/') self.assertEqual(response.status_code, 500) data = { 'file_data.txt': SimpleUploadedFile('file_data.txt', b'haha'), } - response = self.client.post('/raises/', data) + with self.assertLogs('django.request', 'ERROR'): + response = self.client.post('/raises/', data) self.assertContains(response, 'file_data.txt', status_code=500) self.assertNotContains(response, 'haha', status_code=500) def test_400(self): # When DEBUG=True, technical_500_template() is called. - response = self.client.get('/raises400/') + with self.assertLogs('django.security', 'WARNING'): + response = self.client.get('/raises400/') self.assertContains(response, '<div class="context" id="', status_code=400) # Ensure no 403.html template exists to test the default case. @@ -139,7 +142,8 @@ class DebugViewTests(LoggingCaptureMixin, SimpleTestCase): Numeric IDs and fancy traceback context blocks line numbers shouldn't be localized. """ with self.settings(DEBUG=True, USE_L10N=True): - response = self.client.get('/raises500/') + with self.assertLogs('django.request', 'ERROR'): + response = self.client.get('/raises500/') # We look for a HTML fragment of the form # '<div class="context" id="c38123208">', not '<div class="context" id="c38,123,208"' self.assertContains(response, '<div class="context" id="', status_code=500) @@ -152,15 +156,16 @@ class DebugViewTests(LoggingCaptureMixin, SimpleTestCase): ) def test_template_exceptions(self): - try: - self.client.get(reverse('template_exception')) - except Exception: - raising_loc = inspect.trace()[-1][-2][0].strip() - self.assertNotEqual( - raising_loc.find("raise Exception('boom')"), -1, - "Failed to find 'raise Exception' in last frame of " - "traceback, instead found: %s" % raising_loc - ) + with self.assertLogs('django.request', 'ERROR'): + try: + self.client.get(reverse('template_exception')) + except Exception: + raising_loc = inspect.trace()[-1][-2][0].strip() + self.assertNotEqual( + raising_loc.find("raise Exception('boom')"), -1, + "Failed to find 'raise Exception' in last frame of " + "traceback, instead found: %s" % raising_loc + ) def test_template_loader_postmortem(self): """Tests for not existing file""" @@ -171,7 +176,7 @@ class DebugViewTests(LoggingCaptureMixin, SimpleTestCase): with override_settings(TEMPLATES=[{ 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [tempdir], - }]): + }]), self.assertLogs('django.request', 'ERROR'): response = self.client.get(reverse('raises_template_does_not_exist', kwargs={"path": template_name})) self.assertContains(response, "%s (Source does not exist)" % template_path, status_code=500, count=2) # Assert as HTML. @@ -187,8 +192,9 @@ class DebugViewTests(LoggingCaptureMixin, SimpleTestCase): """ Make sure if you don't specify a template, the debug view doesn't blow up. """ - with self.assertRaises(TemplateDoesNotExist): - self.client.get('/render_no_template/') + with self.assertLogs('django.request', 'ERROR'): + with self.assertRaises(TemplateDoesNotExist): + self.client.get('/render_no_template/') @override_settings(ROOT_URLCONF='view_tests.default_urls') def test_default_urlconf_template(self): @@ -253,7 +259,8 @@ class NonDjangoTemplatesDebugViewTests(SimpleTestCase): def test_400(self): # When DEBUG=True, technical_500_template() is called. - response = self.client.get('/raises400/') + with self.assertLogs('django.security', 'WARNING'): + response = self.client.get('/raises400/') self.assertContains(response, '<div class="context" id="', status_code=400) def test_403(self): @@ -267,7 +274,8 @@ class NonDjangoTemplatesDebugViewTests(SimpleTestCase): def test_template_not_found_error(self): # Raises a TemplateDoesNotExist exception and shows the debug view. url = reverse('raises_template_does_not_exist', kwargs={"path": "notfound.html"}) - response = self.client.get(url) + with self.assertLogs('django.request', 'ERROR'): + response = self.client.get(url) self.assertContains(response, '<div class="context" id="', status_code=500) |
