summaryrefslogtreecommitdiff
path: root/tests/logging_tests
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2014-10-06 16:07:20 -0400
committerTim Graham <timograham@gmail.com>2014-10-06 17:35:53 -0400
commit9dff5ce7c70780f4ee91567d98dba227093b49e2 (patch)
treead4132cc05dd6ddb5d50a6e64da3b950c2a8ad7d /tests/logging_tests
parent6f6e7d01dce94668e178b26da547c4643ed3a6cc (diff)
Fixed #23593 -- Fixed crash in AdminEmailHandler with non-ASCII characters in request.
Thanks edevil for the report and Simon Charette for review.
Diffstat (limited to 'tests/logging_tests')
-rw-r--r--tests/logging_tests/tests.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/logging_tests/tests.py b/tests/logging_tests/tests.py
index fb10ef5ac1..da5ef453b1 100644
--- a/tests/logging_tests/tests.py
+++ b/tests/logging_tests/tests.py
@@ -1,3 +1,4 @@
+# -*- coding:utf-8 -*-
from __future__ import unicode_literals
import logging
@@ -320,6 +321,26 @@ class AdminEmailHandlerTest(TestCase):
mail.mail_admins = orig_mail_admins
admin_email_handler.email_backend = orig_email_backend
+ @override_settings(
+ ADMINS=(('whatever admin', 'admin@example.com'),),
+ )
+ def test_emit_non_ascii(self):
+ """
+ #23593 - AdminEmailHandler should allow Unicode characters in the
+ request.
+ """
+ handler = self.get_admin_email_handler(self.logger)
+ record = self.logger.makeRecord('name', logging.ERROR, 'function', 'lno', 'message', None, None)
+ rf = RequestFactory()
+ url_path = '/ยบ'
+ record.request = rf.get(url_path)
+ handler.emit(record)
+ self.assertEqual(len(mail.outbox), 1)
+ msg = mail.outbox[0]
+ self.assertEqual(msg.to, ['admin@example.com'])
+ self.assertEqual(msg.subject, "[Django] ERROR (EXTERNAL IP): message")
+ self.assertIn("path:%s" % url_path, msg.body)
+
class SettingsConfigTest(AdminScriptTestCase):
"""