summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2012-09-26 19:56:21 +0200
committerClaude Paroz <claude@2xlibre.net>2012-09-29 22:56:18 +0200
commitf0f327bbfe1caae6d11fbe20a3b5b96eed1704cf (patch)
treeedcbac875f1a315aed4fa4a99031291d484fafa5 /tests
parenta014ddfef2f606471f25c756d97b3b50fcbd9e91 (diff)
Fixed #18993 -- 'django' logger logs to console when DEBUG=True
Thanks Preston Holmes for the review.
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/logging_tests/tests.py40
1 files changed, 30 insertions, 10 deletions
diff --git a/tests/regressiontests/logging_tests/tests.py b/tests/regressiontests/logging_tests/tests.py
index a54b425f67..e40800efde 100644
--- a/tests/regressiontests/logging_tests/tests.py
+++ b/tests/regressiontests/logging_tests/tests.py
@@ -9,6 +9,7 @@ from django.core import mail
from django.test import TestCase, RequestFactory
from django.test.utils import override_settings
from django.utils.log import CallbackFilter, RequireDebugFalse
+from django.utils.six import StringIO
from ..admin_scripts.tests import AdminScriptTestCase
@@ -109,6 +110,28 @@ class PatchLoggingConfigTest(TestCase):
self.assertEqual(config, new_config)
+class DefaultLoggingTest(TestCase):
+ def setUp(self):
+ self.logger = logging.getLogger('django')
+ self.old_stream = self.logger.handlers[0].stream
+
+ def tearDown(self):
+ self.logger.handlers[0].stream = self.old_stream
+
+ def test_django_logger(self):
+ """
+ The 'django' base logger only output anything when DEBUG=True.
+ """
+ output = StringIO()
+ self.logger.handlers[0].stream = output
+ self.logger.error("Hey, this is an error.")
+ self.assertEqual(output.getvalue(), '')
+
+ with self.settings(DEBUG=True):
+ self.logger.error("Hey, this is an error.")
+ self.assertEqual(output.getvalue(), 'Hey, this is an error.\n')
+
+
class CallbackFilterTest(TestCase):
def test_sense(self):
f_false = CallbackFilter(lambda r: False)
@@ -131,6 +154,7 @@ class CallbackFilterTest(TestCase):
class AdminEmailHandlerTest(TestCase):
+ logger = logging.getLogger('django.request')
def get_admin_email_handler(self, logger):
# Inspired from regressiontests/views/views.py: send_log()
@@ -156,14 +180,13 @@ class AdminEmailHandlerTest(TestCase):
token1 = 'ping'
token2 = 'pong'
- logger = logging.getLogger('django.request')
- admin_email_handler = self.get_admin_email_handler(logger)
+ admin_email_handler = self.get_admin_email_handler(self.logger)
# Backup then override original filters
orig_filters = admin_email_handler.filters
try:
admin_email_handler.filters = []
- logger.error(message, token1, token2)
+ self.logger.error(message, token1, token2)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].to, ['admin@example.com'])
@@ -187,15 +210,14 @@ class AdminEmailHandlerTest(TestCase):
token1 = 'ping'
token2 = 'pong'
- logger = logging.getLogger('django.request')
- admin_email_handler = self.get_admin_email_handler(logger)
+ admin_email_handler = self.get_admin_email_handler(self.logger)
# Backup then override original filters
orig_filters = admin_email_handler.filters
try:
admin_email_handler.filters = []
rf = RequestFactory()
request = rf.get('/')
- logger.error(message, token1, token2,
+ self.logger.error(message, token1, token2,
extra={
'status_code': 403,
'request': request,
@@ -225,8 +247,7 @@ class AdminEmailHandlerTest(TestCase):
self.assertEqual(len(mail.outbox), 0)
- logger = logging.getLogger('django.request')
- logger.error(message)
+ self.logger.error(message)
self.assertEqual(len(mail.outbox), 1)
self.assertFalse('\n' in mail.outbox[0].subject)
@@ -250,8 +271,7 @@ class AdminEmailHandlerTest(TestCase):
self.assertEqual(len(mail.outbox), 0)
- logger = logging.getLogger('django.request')
- logger.error(message)
+ self.logger.error(message)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].subject, expected_subject)