From f92aba225936fa768c098a8f1db51125ac1715ec Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sun, 10 Nov 2013 10:10:28 +0100 Subject: Disable instrumentation for disabled panels. This eliminates the performance overhead when a panel is disabled. --- tests/panels/test_sql.py | 5 +++++ tests/panels/test_template.py | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'tests/panels') diff --git a/tests/panels/test_sql.py b/tests/panels/test_sql.py index a1de0ea..56b70dc 100644 --- a/tests/panels/test_sql.py +++ b/tests/panels/test_sql.py @@ -17,6 +17,11 @@ class SQLPanelTestCase(BaseTestCase): def setUp(self): super(SQLPanelTestCase, self).setUp() self.panel = self.toolbar.get_panel(SQLDebugPanel) + self.panel.enable_instrumentation() + + def tearDown(self): + self.panel.disable_instrumentation() + super(SQLPanelTestCase, self).tearDown() def test_recording(self): self.assertEqual(len(self.panel._queries), 0) diff --git a/tests/panels/test_template.py b/tests/panels/test_template.py index c98521e..545ad9b 100644 --- a/tests/panels/test_template.py +++ b/tests/panels/test_template.py @@ -18,6 +18,12 @@ class TemplateDebugPanelTestCase(BaseTestCase): def setUp(self): super(TemplateDebugPanelTestCase, self).setUp() self.panel = self.toolbar.get_panel(TemplateDebugPanel) + self.sql_panel = self.toolbar.get_panel(SQLDebugPanel) + self.sql_panel.enable_instrumentation() + + def tearDown(self): + self.sql_panel.disable_instrumentation() + super(TemplateDebugPanelTestCase, self).tearDown() def test_queryset_hook(self): t = Template("No context variables here!") @@ -30,8 +36,7 @@ class TemplateDebugPanelTestCase(BaseTestCase): t.render(c) # ensure the query was NOT logged - sql_panel = self.toolbar.get_panel(SQLDebugPanel) - self.assertEqual(len(sql_panel._queries), 0) + self.assertEqual(len(self.sql_panel._queries), 0) base_ctx_idx = 1 if django.VERSION[:2] >= (1, 5) else 0 ctx = self.panel.templates[0]['context'][base_ctx_idx] -- cgit v1.2.3 From f5eaa8ebb0d1ca13aa2453ef88bb1eb223757716 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sun, 10 Nov 2013 15:59:30 +0100 Subject: Add test for the cache panel. --- tests/panels/test_cache.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/panels/test_cache.py (limited to 'tests/panels') diff --git a/tests/panels/test_cache.py b/tests/panels/test_cache.py new file mode 100644 index 0000000..f3c359c --- /dev/null +++ b/tests/panels/test_cache.py @@ -0,0 +1,28 @@ +# coding: utf-8 + +from __future__ import unicode_literals + +from django.core import cache + +from debug_toolbar.panels.cache import CacheDebugPanel + +from ..base import BaseTestCase + + +class CachePanelTestCase(BaseTestCase): + + def setUp(self): + super(CachePanelTestCase, self).setUp() + self.panel = self.toolbar.get_panel(CacheDebugPanel) + self.panel.enable_instrumentation() + + def tearDown(self): + self.panel.disable_instrumentation() + super(CachePanelTestCase, self).tearDown() + + def test_recording(self): + self.assertEqual(len(self.panel.calls), 0) + cache.cache.set('foo', 'bar') + cache.cache.get('foo') + cache.cache.delete('foo') + self.assertEqual(len(self.panel.calls), 3) -- cgit v1.2.3