diff options
| author | Hrushikesh Vaidya <hrushikeshrv@gmail.com> | 2022-01-06 19:52:57 +0530 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-01-13 07:02:41 +0100 |
| commit | 6815da6e9497a9a630d9f3637a51134d868bcd5b (patch) | |
| tree | 952c856ff11b99f26b18d43c76bda9de31683586 /tests/view_tests | |
| parent | 4099e6e73744ef6a609b578020219f6e4647dd7e (diff) | |
Fixed #33396 -- Added view name to technical 500 debug page.
Diffstat (limited to 'tests/view_tests')
| -rw-r--r-- | tests/view_tests/tests/test_debug.py | 34 | ||||
| -rw-r--r-- | tests/view_tests/urls.py | 1 | ||||
| -rw-r--r-- | tests/view_tests/views.py | 8 |
3 files changed, 43 insertions, 0 deletions
diff --git a/tests/view_tests/tests/test_debug.py b/tests/view_tests/tests/test_debug.py index 7c49fa51f3..591013be36 100644 --- a/tests/view_tests/tests/test_debug.py +++ b/tests/view_tests/tests/test_debug.py @@ -199,6 +199,40 @@ class DebugViewTests(SimpleTestCase): html=True, ) + def test_technical_500(self): + with self.assertLogs('django.request', 'ERROR'): + response = self.client.get('/raises500/') + self.assertContains( + response, + '<th>Raised during:</th><td>view_tests.views.raises500</td>', + status_code=500, + html=True, + ) + with self.assertLogs('django.request', 'ERROR'): + response = self.client.get('/raises500/', HTTP_ACCEPT='text/plain') + self.assertContains( + response, + 'Raised during: view_tests.views.raises500', + status_code=500, + ) + + def test_classbased_technical_500(self): + with self.assertLogs('django.request', 'ERROR'): + response = self.client.get('/classbased500/') + self.assertContains( + response, + '<th>Raised during:</th><td>view_tests.views.Raises500View</td>', + status_code=500, + html=True, + ) + with self.assertLogs('django.request', 'ERROR'): + response = self.client.get('/classbased500/', HTTP_ACCEPT='text/plain') + self.assertContains( + response, + 'Raised during: view_tests.views.Raises500View', + status_code=500, + ) + def test_non_l10ned_numeric_ids(self): """ Numeric IDs and fancy traceback context blocks line numbers shouldn't be localized. diff --git a/tests/view_tests/urls.py b/tests/view_tests/urls.py index f394934f4d..7a20ff40fa 100644 --- a/tests/view_tests/urls.py +++ b/tests/view_tests/urls.py @@ -31,6 +31,7 @@ urlpatterns = [ path('technical404/', views.technical404, name='my404'), path('classbased404/', views.Http404View.as_view()), + path('classbased500/', views.Raises500View.as_view()), # i18n views path('i18n/', include('django.conf.urls.i18n')), diff --git a/tests/view_tests/views.py b/tests/view_tests/views.py index ed84286173..97695ef493 100644 --- a/tests/view_tests/views.py +++ b/tests/view_tests/views.py @@ -51,6 +51,14 @@ def raises500(request): return technical_500_response(request, *sys.exc_info()) +class Raises500View(View): + def get(self, request): + try: + raise Exception + except Exception: + return technical_500_response(request, *sys.exc_info()) + + def raises400(request): raise SuspiciousOperation |
