diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tests.py | 15 | ||||
| -rw-r--r-- | tests/urls.py | 7 |
2 files changed, 20 insertions, 2 deletions
diff --git a/tests/tests.py b/tests/tests.py index 678a8fc..f76f1ab 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -3,9 +3,11 @@ import thread from django.conf import settings from django.contrib.auth.models import User +from django.db import connection from django.http import HttpResponse from django.test import TestCase, RequestFactory from django.template import Template, Context +from django.utils import unittest from debug_toolbar.middleware import DebugToolbarMiddleware from debug_toolbar.panels.sql import SQLDebugPanel @@ -215,6 +217,19 @@ class SQLPanelTestCase(BaseTestCase): # ensure the stacktrace is populated self.assertTrue(len(query[1]['stacktrace']) > 0) + @unittest.skipUnless(connection.vendor=='postgresql', + 'Test valid only on PostgreSQL') + def test_erroneous_query(self): + """ + Test that an error in the query isn't swallowed by the middleware. + """ + from django.db import connection + from django.db.utils import DatabaseError + try: + connection.cursor().execute("erroneous query") + except DatabaseError as e: + self.assertTrue('erroneous query' in str(e)) + def test_disable_stacktraces(self): panel = self.toolbar.get_panel(SQLDebugPanel) self.assertEquals(len(panel._queries), 0) diff --git a/tests/urls.py b/tests/urls.py index a556703..778f417 100644 --- a/tests/urls.py +++ b/tests/urls.py @@ -4,14 +4,17 @@ URLpatterns for the debug toolbar. These should not be loaded explicitly; the debug toolbar middleware will patch this into the urlconf for the request. """ -from django.conf.urls.defaults import * from django.contrib import admin +try: + from django.conf.urls import patterns, url +except ImportError: # django < 1.4 + from django.conf.urls.defaults import patterns, url admin.autodiscover() urlpatterns = patterns('', # This pattern should be last to ensure tests still work - url(r'^resolving1/(.+)/(.+)/$', 'tests.views.resolving_view', name = 'positional-resolving'), + url(r'^resolving1/(.+)/(.+)/$', 'tests.views.resolving_view', name='positional-resolving'), url(r'^resolving2/(?P<arg1>.+)/(?P<arg2>.+)/$', 'tests.views.resolving_view'), url(r'^resolving3/(.+)/$', 'tests.views.resolving_view', { 'arg2' : 'default' }), url(r'^execute_sql/$', 'tests.views.execute_sql'), |
