From fe3df822111d3b56000deca354b0bceed7bde9cc Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sun, 24 Nov 2013 10:42:43 +0100 Subject: Rename all panels consistently. Enforce absolute imports to avoid clashing with built-in package names. Thanks Jannis for his feedback. --- tests/base.py | 2 +- tests/commands/test_debugsqlshell.py | 2 +- tests/models.py | 2 +- tests/panels/test_cache.py | 4 +-- tests/panels/test_logger.py | 50 ------------------------------------ tests/panels/test_logging.py | 50 ++++++++++++++++++++++++++++++++++++ tests/panels/test_profiling.py | 8 +++--- tests/panels/test_redirects.py | 4 +-- tests/panels/test_request.py | 33 ++++++++++++++++++++++++ tests/panels/test_request_vars.py | 33 ------------------------ tests/panels/test_sql.py | 4 +-- tests/panels/test_template.py | 12 ++++----- tests/test_integration.py | 20 +++++++-------- tests/test_utils.py | 2 +- tests/tests.py | 4 +-- tests/urls.py | 2 +- tests/views.py | 2 +- 17 files changed, 117 insertions(+), 117 deletions(-) delete mode 100644 tests/panels/test_logger.py create mode 100644 tests/panels/test_logging.py create mode 100644 tests/panels/test_request.py delete mode 100644 tests/panels/test_request_vars.py (limited to 'tests') diff --git a/tests/base.py b/tests/base.py index a1a59cc..78f3d6f 100644 --- a/tests/base.py +++ b/tests/base.py @@ -1,4 +1,4 @@ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals import threading diff --git a/tests/commands/test_debugsqlshell.py b/tests/commands/test_debugsqlshell.py index f35ef07..f0c88fa 100644 --- a/tests/commands/test_debugsqlshell.py +++ b/tests/commands/test_debugsqlshell.py @@ -1,4 +1,4 @@ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals import sys diff --git a/tests/models.py b/tests/models.py index 24358c0..78c1eb8 100644 --- a/tests/models.py +++ b/tests/models.py @@ -1,6 +1,6 @@ # coding: utf-8 -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.utils import six diff --git a/tests/panels/test_cache.py b/tests/panels/test_cache.py index 42a6814..73b7e7c 100644 --- a/tests/panels/test_cache.py +++ b/tests/panels/test_cache.py @@ -1,6 +1,6 @@ # coding: utf-8 -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.core import cache @@ -11,7 +11,7 @@ class CachePanelTestCase(BaseTestCase): def setUp(self): super(CachePanelTestCase, self).setUp() - self.panel = self.toolbar.get_panel_by_id('CacheDebugPanel') + self.panel = self.toolbar.get_panel_by_id('CachePanel') self.panel.enable_instrumentation() def tearDown(self): diff --git a/tests/panels/test_logger.py b/tests/panels/test_logger.py deleted file mode 100644 index f5fe375..0000000 --- a/tests/panels/test_logger.py +++ /dev/null @@ -1,50 +0,0 @@ -from __future__ import unicode_literals - -import logging - -from debug_toolbar.panels.logger import MESSAGE_IF_STRING_REPRESENTATION_INVALID - -from ..base import BaseTestCase - - -class LoggingPanelTestCase(BaseTestCase): - - def setUp(self): - super(LoggingPanelTestCase, self).setUp() - self.panel = self.toolbar.get_panel_by_id('LoggingPanel') - self.logger = logging.getLogger(__name__) - - def test_happy_case(self): - self.logger.info('Nothing to see here, move along!') - - self.panel.process_response(self.request, self.response) - records = self.panel.get_stats()['records'] - - self.assertEqual(1, len(records)) - self.assertEqual('Nothing to see here, move along!', - records[0]['message']) - - def test_formatting(self): - self.logger.info('There are %d %s', 5, 'apples') - - self.panel.process_response(self.request, self.response) - records = self.panel.get_stats()['records'] - - self.assertEqual(1, len(records)) - self.assertEqual('There are 5 apples', - records[0]['message']) - - def test_failing_formatting(self): - class BadClass(object): - def __str__(self): - raise Exception('Please not stringify me!') - - # should not raise exception, but fail silently - self.logger.debug('This class is misbehaving: %s', BadClass()) - - self.panel.process_response(self.request, self.response) - records = self.panel.get_stats()['records'] - - self.assertEqual(1, len(records)) - self.assertEqual(MESSAGE_IF_STRING_REPRESENTATION_INVALID, - records[0]['message']) diff --git a/tests/panels/test_logging.py b/tests/panels/test_logging.py new file mode 100644 index 0000000..342e673 --- /dev/null +++ b/tests/panels/test_logging.py @@ -0,0 +1,50 @@ +from __future__ import absolute_import, unicode_literals + +import logging + +from debug_toolbar.panels.logging import MESSAGE_IF_STRING_REPRESENTATION_INVALID + +from ..base import BaseTestCase + + +class LoggingPanelTestCase(BaseTestCase): + + def setUp(self): + super(LoggingPanelTestCase, self).setUp() + self.panel = self.toolbar.get_panel_by_id('LoggingPanel') + self.logger = logging.getLogger(__name__) + + def test_happy_case(self): + self.logger.info('Nothing to see here, move along!') + + self.panel.process_response(self.request, self.response) + records = self.panel.get_stats()['records'] + + self.assertEqual(1, len(records)) + self.assertEqual('Nothing to see here, move along!', + records[0]['message']) + + def test_formatting(self): + self.logger.info('There are %d %s', 5, 'apples') + + self.panel.process_response(self.request, self.response) + records = self.panel.get_stats()['records'] + + self.assertEqual(1, len(records)) + self.assertEqual('There are 5 apples', + records[0]['message']) + + def test_failing_formatting(self): + class BadClass(object): + def __str__(self): + raise Exception('Please not stringify me!') + + # should not raise exception, but fail silently + self.logger.debug('This class is misbehaving: %s', BadClass()) + + self.panel.process_response(self.request, self.response) + records = self.panel.get_stats()['records'] + + self.assertEqual(1, len(records)) + self.assertEqual(MESSAGE_IF_STRING_REPRESENTATION_INVALID, + records[0]['message']) diff --git a/tests/panels/test_profiling.py b/tests/panels/test_profiling.py index f6bb7d3..7ca7e7b 100644 --- a/tests/panels/test_profiling.py +++ b/tests/panels/test_profiling.py @@ -1,4 +1,4 @@ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.contrib.auth.models import User from django.db import IntegrityError, transaction @@ -17,12 +17,12 @@ from ..base import BaseTestCase from ..views import regular_view -@override_settings(DEBUG_TOOLBAR_PANELS=['debug_toolbar.panels.profiling.ProfilingDebugPanel']) +@override_settings(DEBUG_TOOLBAR_PANELS=['debug_toolbar.panels.profiling.ProfilingPanel']) class ProfilingPanelTestCase(BaseTestCase): def setUp(self): super(ProfilingPanelTestCase, self).setUp() - self.panel = self.toolbar.get_panel_by_id('ProfilingDebugPanel') + self.panel = self.toolbar.get_panel_by_id('ProfilingPanel') def _test_render_with_or_without_line_profiler(self): self.panel.process_view(self.request, regular_view, ('profiling',), {}) @@ -44,7 +44,7 @@ class ProfilingPanelTestCase(BaseTestCase): @override_settings(DEBUG=True, - DEBUG_TOOLBAR_PANELS=['debug_toolbar.panels.profiling.ProfilingDebugPanel']) + DEBUG_TOOLBAR_PANELS=['debug_toolbar.panels.profiling.ProfilingPanel']) class ProfilingPanelIntegrationTestCase(TestCase): def test_view_executed_once(self): diff --git a/tests/panels/test_redirects.py b/tests/panels/test_redirects.py index 400cdcc..7e94e77 100644 --- a/tests/panels/test_redirects.py +++ b/tests/panels/test_redirects.py @@ -1,4 +1,4 @@ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals import django from django.http import HttpResponse @@ -13,7 +13,7 @@ class RedirectsPanelTestCase(BaseTestCase): def setUp(self): super(RedirectsPanelTestCase, self).setUp() - self.panel = self.toolbar.get_panel_by_id('InterceptRedirectsPanel') + self.panel = self.toolbar.get_panel_by_id('RedirectsPanel') def test_regular_response(self): response = self.panel.process_response(self.request, self.response) diff --git a/tests/panels/test_request.py b/tests/panels/test_request.py new file mode 100644 index 0000000..16843c4 --- /dev/null +++ b/tests/panels/test_request.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +from __future__ import absolute_import, unicode_literals + +from django.utils import six + +from ..base import BaseTestCase + + +class RequestPanelTestCase(BaseTestCase): + + def setUp(self): + super(RequestPanelTestCase, self).setUp() + self.panel = self.toolbar.get_panel_by_id('RequestPanel') + + def test_non_ascii_session(self): + self.request.session = {'où': 'où'} + if not six.PY3: + self.request.session['là'.encode('utf-8')] = 'là'.encode('utf-8') + self.panel.process_request(self.request) + self.panel.process_response(self.request, self.response) + content = self.panel.content() + if six.PY3: + self.assertIn('où', content) + else: + self.assertIn('o\\xf9', content) + self.assertIn('l\\xc3\\xa0', content) + + def test_object_with_non_ascii_repr_in_request_params(self): + self.request.path = '/non_ascii_request/' + self.panel.process_request(self.request) + self.panel.process_response(self.request, self.response) + self.assertIn('nôt åscíì', self.panel.content()) diff --git a/tests/panels/test_request_vars.py b/tests/panels/test_request_vars.py deleted file mode 100644 index a86956f..0000000 --- a/tests/panels/test_request_vars.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding: utf-8 - -from __future__ import unicode_literals - -from django.utils import six - -from ..base import BaseTestCase - - -class RequestVarsDebugPanelTestCase(BaseTestCase): - - def setUp(self): - super(RequestVarsDebugPanelTestCase, self).setUp() - self.panel = self.toolbar.get_panel_by_id('RequestVarsDebugPanel') - - def test_non_ascii_session(self): - self.request.session = {'où': 'où'} - if not six.PY3: - self.request.session['là'.encode('utf-8')] = 'là'.encode('utf-8') - self.panel.process_request(self.request) - self.panel.process_response(self.request, self.response) - content = self.panel.content() - if six.PY3: - self.assertIn('où', content) - else: - self.assertIn('o\\xf9', content) - self.assertIn('l\\xc3\\xa0', content) - - def test_object_with_non_ascii_repr_in_request_vars(self): - self.request.path = '/non_ascii_request/' - self.panel.process_request(self.request) - self.panel.process_response(self.request, self.response) - self.assertIn('nôt åscíì', self.panel.content()) diff --git a/tests/panels/test_sql.py b/tests/panels/test_sql.py index 4a18a16..a6990a3 100644 --- a/tests/panels/test_sql.py +++ b/tests/panels/test_sql.py @@ -1,6 +1,6 @@ # coding: utf-8 -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.contrib.auth.models import User from django.db import connection @@ -14,7 +14,7 @@ class SQLPanelTestCase(BaseTestCase): def setUp(self): super(SQLPanelTestCase, self).setUp() - self.panel = self.toolbar.get_panel_by_id('SQLDebugPanel') + self.panel = self.toolbar.get_panel_by_id('SQLPanel') self.panel.enable_instrumentation() def tearDown(self): diff --git a/tests/panels/test_template.py b/tests/panels/test_template.py index 1c43982..8cb29f2 100644 --- a/tests/panels/test_template.py +++ b/tests/panels/test_template.py @@ -1,6 +1,6 @@ # coding: utf-8 -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals import django from django.contrib.auth.models import User @@ -10,17 +10,17 @@ from ..base import BaseTestCase from ..models import NonAsciiRepr -class TemplateDebugPanelTestCase(BaseTestCase): +class TemplatesPanelTestCase(BaseTestCase): def setUp(self): - super(TemplateDebugPanelTestCase, self).setUp() - self.panel = self.toolbar.get_panel_by_id('TemplateDebugPanel') - self.sql_panel = self.toolbar.get_panel_by_id('SQLDebugPanel') + super(TemplatesPanelTestCase, self).setUp() + self.panel = self.toolbar.get_panel_by_id('TemplatesPanel') + self.sql_panel = self.toolbar.get_panel_by_id('SQLPanel') self.sql_panel.enable_instrumentation() def tearDown(self): self.sql_panel.disable_instrumentation() - super(TemplateDebugPanelTestCase, self).tearDown() + super(TemplatesPanelTestCase, self).tearDown() def test_queryset_hook(self): t = Template("No context variables here!") diff --git a/tests/test_integration.py b/tests/test_integration.py index b903cb8..e92cab6 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -1,6 +1,6 @@ # coding: utf-8 -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals import os from xml.etree import ElementTree as ET @@ -40,12 +40,12 @@ class DebugToolbarTestCase(BaseTestCase): self.assertFalse(show_toolbar(self.request)) def _resolve_stats(self, path): - # takes stats from RequestVars panel + # takes stats from Request panel self.request.path = path - panel = self.toolbar.get_panel_by_id('RequestVarsDebugPanel') + panel = self.toolbar.get_panel_by_id('RequestPanel') panel.process_request(self.request) panel.process_response(self.request, self.response) - return self.toolbar.stats['requestvars'] + return self.toolbar.stats['request'] def test_url_resolving_positional(self): stats = self._resolve_stats('/resolving1/a/b/') @@ -120,14 +120,14 @@ class DebugToolbarLiveTestCase(LiveServerTestCase): def test_basic(self): self.selenium.get(self.live_server_url + '/regular/basic/') - version_panel = self.selenium.find_element_by_id('VersionDebugPanel') + version_panel = self.selenium.find_element_by_id('VersionsPanel') - # Version panel isn't loaded + # Versions panel isn't loaded with self.assertRaises(NoSuchElementException): version_panel.find_element_by_tag_name('table') - # Click to show the version panel - self.selenium.find_element_by_class_name('VersionDebugPanel').click() + # Click to show the versions panel + self.selenium.find_element_by_class_name('VersionsPanel').click() # Version panel loads table = WebDriverWait(self.selenium, timeout=10).until( @@ -138,10 +138,10 @@ class DebugToolbarLiveTestCase(LiveServerTestCase): @override_settings(DEBUG_TOOLBAR_CONFIG={'RESULTS_CACHE_SIZE': 0}) def test_expired_storage(self): self.selenium.get(self.live_server_url + '/regular/basic/') - version_panel = self.selenium.find_element_by_id('VersionDebugPanel') + version_panel = self.selenium.find_element_by_id('VersionsPanel') # Click to show the version panel - self.selenium.find_element_by_class_name('VersionDebugPanel').click() + self.selenium.find_element_by_class_name('VersionsPanel').click() # Version panel doesn't loads error = WebDriverWait(self.selenium, timeout=10).until( diff --git a/tests/test_utils.py b/tests/test_utils.py index a930894..40e99be 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,4 +1,4 @@ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.utils.unittest import TestCase diff --git a/tests/tests.py b/tests/tests.py index b08ac1c..1818fe7 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -3,10 +3,10 @@ import django if django.VERSION[:2] < (1, 6): # unittest-style discovery isn't available from .commands.test_debugsqlshell import * # noqa from .panels.test_cache import * # noqa - from .panels.test_logger import * # noqa + from .panels.test_logging import * # noqa from .panels.test_profiling import * # noqa from .panels.test_redirects import * # noqa - from .panels.test_request_vars import * # noqa + from .panels.test_request import * # noqa from .panels.test_sql import * # noqa from .panels.test_template import * # noqa from .test_integration import * # noqa diff --git a/tests/urls.py b/tests/urls.py index f297834..0a7ac19 100644 --- a/tests/urls.py +++ b/tests/urls.py @@ -1,6 +1,6 @@ # coding: utf-8 -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.conf.urls import include, patterns, url from django.contrib import admin diff --git a/tests/views.py b/tests/views.py index d7ff167..73e0087 100644 --- a/tests/views.py +++ b/tests/views.py @@ -1,6 +1,6 @@ # coding: utf-8 -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.contrib.auth.models import User from django.http import HttpResponse -- cgit v1.2.3