From 96f1cb4b0d4b10903502e917ddaa460bc05f5ca3 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Fri, 1 Nov 2013 21:51:37 +0100 Subject: Split tests across several modules. Fix #426. --- tests/commands/test_debugsqlshell.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/commands/test_debugsqlshell.py (limited to 'tests/commands/test_debugsqlshell.py') diff --git a/tests/commands/test_debugsqlshell.py b/tests/commands/test_debugsqlshell.py new file mode 100644 index 0000000..f35ef07 --- /dev/null +++ b/tests/commands/test_debugsqlshell.py @@ -0,0 +1,34 @@ +from __future__ import unicode_literals + +import sys + +from django.contrib.auth.models import User +from django.core import management +from django.db.backends import util +from django.test import TestCase +from django.test.utils import override_settings +from django.utils import six + + +@override_settings(DEBUG=True) +class DebugSQLShellTestCase(TestCase): + + def setUp(self): + self.original_cursor_wrapper = util.CursorDebugWrapper + # Since debugsqlshell monkey-patches django.db.backends.util, we can + # test it simply by loading it, without executing it. But we have to + # undo the monkey-patch on exit. + command_name = 'debugsqlshell' + app_name = management.get_commands()[command_name] + management.load_command_class(app_name, command_name) + + def tearDown(self): + util.CursorDebugWrapper = self.original_cursor_wrapper + + def test_command(self): + original_stdout, sys.stdout = sys.stdout, six.StringIO() + try: + User.objects.count() + self.assertIn("SELECT COUNT(*)", sys.stdout.getvalue()) + finally: + sys.stdout = original_stdout -- cgit v1.2.3