summaryrefslogtreecommitdiff
path: root/tests/view_tests
diff options
context:
space:
mode:
authorHrushikesh Vaidya <hrushikeshrv@gmail.com>2022-01-06 19:52:57 +0530
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-01-13 07:02:41 +0100
commit6815da6e9497a9a630d9f3637a51134d868bcd5b (patch)
tree952c856ff11b99f26b18d43c76bda9de31683586 /tests/view_tests
parent4099e6e73744ef6a609b578020219f6e4647dd7e (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.py34
-rw-r--r--tests/view_tests/urls.py1
-rw-r--r--tests/view_tests/views.py8
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