diff options
author | Berker Peksag <berker.peksag@gmail.com> | 2014-11-10 23:21:31 +0200 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2014-11-15 09:38:19 +0100 |
commit | d552da1f8d42b7c6db992fee42bc4781f5fdde43 (patch) | |
tree | dadee4405fb21d346345530cedc2a01d19dab89b /tests/logging_tests | |
parent | a305695f28cb15165a19c3871aec878a230a5105 (diff) | |
download | django-d552da1f8d42b7c6db992fee42bc4781f5fdde43.tar.gz |
Fixed #22407 -- Added AdminEmailHandler.send_mail().
Diffstat (limited to 'tests/logging_tests')
-rw-r--r-- | tests/logging_tests/tests.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/tests/logging_tests/tests.py b/tests/logging_tests/tests.py index 99981e56e1..d0a3a92eff 100644 --- a/tests/logging_tests/tests.py +++ b/tests/logging_tests/tests.py @@ -10,8 +10,9 @@ from django.test import TestCase, RequestFactory, override_settings from django.test.utils import patch_logger from django.utils.encoding import force_text from django.utils.deprecation import RemovedInNextVersionWarning -from django.utils.log import (CallbackFilter, RequireDebugFalse, - RequireDebugTrue) +from django.utils.log import ( + AdminEmailHandler, CallbackFilter, RequireDebugFalse, RequireDebugTrue, +) from django.utils.six import StringIO from admin_scripts.tests import AdminScriptTestCase @@ -341,6 +342,22 @@ class AdminEmailHandlerTest(TestCase): self.assertEqual(msg.subject, "[Django] ERROR (EXTERNAL IP): message") self.assertIn("path:%s" % url_path, msg.body) + @override_settings( + MANAGERS=(('manager', 'manager@example.com'),), + DEBUG=False, + ) + def test_customize_send_mail_method(self): + class ManagerEmailHandler(AdminEmailHandler): + def send_mail(self, subject, message, *args, **kwargs): + mail.mail_managers(subject, message, *args, connection=self.connection(), **kwargs) + + handler = ManagerEmailHandler() + record = self.logger.makeRecord('name', logging.ERROR, 'function', 'lno', 'message', None, None) + self.assertEqual(len(mail.outbox), 0) + handler.emit(record) + self.assertEqual(len(mail.outbox), 1) + self.assertEqual(mail.outbox[0].to, ['manager@example.com']) + class SettingsConfigTest(AdminScriptTestCase): """ |