Fixed tests isolation in logging_tests.

The SetupConfigureLogging test case does not restore the logging config
after its execution. It leaves the logger django.request with an empty
handlers array.

This also removes the last use of LOGGING_CONFIG, introduced in
43503b093a.
This commit is contained in:
François Freitag 2020-05-07 21:06:09 +02:00 committed by Mariusz Felisiak
parent fc0f7f6c15
commit 01f8d19ef9
1 changed files with 8 additions and 24 deletions

View File

@ -21,25 +21,6 @@ from django.views.debug import ExceptionReporter
from . import views from . import views
from .logconfig import MyEmailBackend from .logconfig import MyEmailBackend
# logging config prior to using filter with mail_admins
OLD_LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
class LoggingFiltersTest(SimpleTestCase): class LoggingFiltersTest(SimpleTestCase):
def test_require_debug_false_filter(self): def test_require_debug_false_filter(self):
@ -483,13 +464,16 @@ class SetupConfigureLogging(SimpleTestCase):
""" """
Calling django.setup() initializes the logging configuration. Calling django.setup() initializes the logging configuration.
""" """
@override_settings(
LOGGING_CONFIG='logging_tests.tests.dictConfig',
LOGGING=OLD_LOGGING,
)
def test_configure_initializes_logging(self): def test_configure_initializes_logging(self):
from django import setup from django import setup
setup() try:
with override_settings(
LOGGING_CONFIG='logging_tests.tests.dictConfig',
):
setup()
finally:
# Restore logging from settings.
setup()
self.assertTrue(dictConfig.called) self.assertTrue(dictConfig.called)