mirror of
https://github.com/django/django.git
synced 2025-08-04 19:08:28 +00:00
Refs #23643 -- Fixed debug view regression on Python 2.
Thanks Tomáš Ehrlich for help with the patch.
This commit is contained in:
parent
24718b7dcc
commit
38eacbde62
2 changed files with 28 additions and 3 deletions
|
@ -14,13 +14,16 @@ from unittest import skipIf
|
|||
from django.core import mail
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db import DatabaseError, connection
|
||||
from django.template import TemplateDoesNotExist
|
||||
from django.test import RequestFactory, SimpleTestCase, override_settings
|
||||
from django.test.utils import LoggingCaptureMixin
|
||||
from django.utils import six
|
||||
from django.utils.encoding import force_bytes, force_text
|
||||
from django.utils.functional import SimpleLazyObject
|
||||
from django.views.debug import CallableSettingWrapper, ExceptionReporter
|
||||
from django.views.debug import (
|
||||
CallableSettingWrapper, ExceptionReporter, technical_500_response,
|
||||
)
|
||||
|
||||
from .. import BrokenException, except_args
|
||||
from ..views import (
|
||||
|
@ -194,6 +197,26 @@ class DebugViewTests(LoggingCaptureMixin, SimpleTestCase):
|
|||
)
|
||||
|
||||
|
||||
class DebugViewQueriesAllowedTests(SimpleTestCase):
|
||||
# May need a query to initialize MySQL connection
|
||||
allow_database_queries = True
|
||||
|
||||
def test_handle_db_exception(self):
|
||||
"""
|
||||
Ensure the debug view works when a database exception is raised by
|
||||
performing an invalid query and passing the exception to the debug view.
|
||||
"""
|
||||
with connection.cursor() as cursor:
|
||||
try:
|
||||
cursor.execute('INVALID SQL')
|
||||
except DatabaseError:
|
||||
exc_info = sys.exc_info()
|
||||
|
||||
rf = RequestFactory()
|
||||
response = technical_500_response(rf.get('/'), *exc_info)
|
||||
self.assertContains(response, 'OperationalError at /', status_code=500)
|
||||
|
||||
|
||||
@override_settings(
|
||||
DEBUG=True,
|
||||
ROOT_URLCONF="view_tests.urls",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue