diff options
Diffstat (limited to 'tests/panels/test_profiling.py')
| -rw-r--r-- | tests/panels/test_profiling.py | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/tests/panels/test_profiling.py b/tests/panels/test_profiling.py new file mode 100644 index 0000000..6a7823e --- /dev/null +++ b/tests/panels/test_profiling.py @@ -0,0 +1,29 @@ +from __future__ import unicode_literals + +from django.contrib.auth.models import User +from django.db import IntegrityError, transaction +from django.test import TestCase +from django.test.utils import override_settings + + +@override_settings(DEBUG=True, +                   DEBUG_TOOLBAR_PANELS=['debug_toolbar.panels.profiling.ProfilingDebugPanel']) +class ProfilingPanelIntegrationTestCase(TestCase): + +    urls = 'tests.urls' + +    def test_view_executed_once(self): + +        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): +            if hasattr(transaction, 'atomic'):      # Django >= 1.6 +                with transaction.atomic(): +                    response = self.client.get('/new_user/') +            else: +                response = self.client.get('/new_user/') +        self.assertEqual(User.objects.count(), 1) | 
