diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tests.py | 14 | ||||
| -rw-r--r-- | tests/urls.py | 1 | ||||
| -rw-r--r-- | tests/views.py | 5 | 
3 files changed, 19 insertions, 1 deletions
| diff --git a/tests/tests.py b/tests/tests.py index 2b26893..a08a9dd 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -9,7 +9,7 @@ from xml.etree import ElementTree as ET  import django  from django.conf import settings  from django.contrib.auth.models import User -from django.db import connection +from django.db import connection, IntegrityError  from django.http import HttpResponse  from django.test import TestCase, RequestFactory  from django.test.utils import override_settings @@ -188,6 +188,18 @@ class DebugToolbarIntegrationTestCase(TestCase):          response = self.client.get('/regular/XML/')          ET.fromstring(response.content)     # shouldn't raise ParseError +    def test_view_executed_once(self): +        with self.settings(DEBUG=True, INTERNAL_IPS=['127.0.0.1'], +                DEBUG_TOOLBAR_PANELS=['debug_toolbar.panels.profiling.ProfilingDebugPanel']): +            self.assertEqual(User.objects.count(), 0) + +            response = self.client.get('/new_user/') +            self.assertContains(response, 'Profiling') +            self.assertEqual(User.objects.count(), 1) + +            with self.assertRaises(IntegrityError): +                response = self.client.get('/new_user/') +            self.assertEqual(User.objects.count(), 1)  class DebugToolbarNameFromObjectTest(BaseTestCase): diff --git a/tests/urls.py b/tests/urls.py index 562ebd2..4bed492 100644 --- a/tests/urls.py +++ b/tests/urls.py @@ -23,5 +23,6 @@ urlpatterns = patterns('tests.views',      url(r'^regular/(?P<title>.*)/$', 'regular_view'),      url(r'^non_ascii_context/$', 'non_ascii_context'),      url(r'^non_ascii_request/$', 'regular_view', {'title': NonAsciiRepr()}), +    url(r'^new_user/$', 'new_user'),      url(r'^execute_sql/$', 'execute_sql'),  ) diff --git a/tests/views.py b/tests/views.py index 2fba2a7..e6d9ebb 100644 --- a/tests/views.py +++ b/tests/views.py @@ -23,6 +23,11 @@ def regular_view(request, title):      return render(request, 'basic.html', {'title': title}) +def new_user(request): +    User.objects.create_user(username='joe') +    return render(request, 'basic.html', {'title': 'new user'}) + +  def resolving_view(request, arg1, arg2):      # see test_url_resolving in tests.py      return HttpResponse() | 
