mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +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:
@@ -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):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user