1
0
mirror of https://github.com/django/django.git synced 2025-10-23 21:59:11 +00:00

Fixed #23593 -- Fixed crash in AdminEmailHandler with non-ASCII characters in request.

Thanks edevil for the report and Simon Charette for review.
This commit is contained in:
Tim Graham
2014-10-06 16:07:20 -04:00
parent 6f6e7d01dc
commit 9dff5ce7c7
3 changed files with 28 additions and 1 deletions

View File

@@ -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):
"""