mirror of
https://github.com/coddingtonbear/django-mailbox.git
synced 2026-07-10 06:48:19 +02:00
[#130] Fix handling of single-byte filenames in attachment headers; among other unicode handling fixes.
This commit is contained in:
parent
81d6648e8c
commit
2df2d8a4fc
4 changed files with 50 additions and 15 deletions
|
|
@ -4,11 +4,12 @@ import sys
|
|||
import mock
|
||||
import six
|
||||
|
||||
from django.core.mail import EmailMessage
|
||||
from django_mailbox.models import Mailbox, Message
|
||||
from django_mailbox.utils import convert_header_to_unicode
|
||||
from django_mailbox.tests.base import EmailMessageTestCase
|
||||
from django.test.utils import override_settings
|
||||
from django.utils.encoding import force_text
|
||||
from django.core.mail import EmailMessage
|
||||
|
||||
|
||||
__all__ = ['TestProcessEmail']
|
||||
|
|
@ -88,7 +89,7 @@ class TestProcessEmail(EmailMessageTestCase):
|
|||
)
|
||||
|
||||
def test_message_with_not_decoded_attachment_header(self):
|
||||
if sys.version_info > (3, 0):
|
||||
if not six.PY3:
|
||||
self.skipTest(
|
||||
"This test is only relevant on Python 2.x."
|
||||
)
|
||||
|
|
@ -145,14 +146,17 @@ class TestProcessEmail(EmailMessageTestCase):
|
|||
u'odpowied\u017a Burmistrza.jpg'
|
||||
)
|
||||
|
||||
@override_settings(
|
||||
DJANGO_MAILBOX_DEFAULT_CHARSET='iso8859-2'
|
||||
)
|
||||
def test_message_with_utf_headers_in_attachments(self):
|
||||
email_object = self._get_email_object(
|
||||
'message_with_utf8_headers_in_attachment.eml',
|
||||
'message_with_iso8859-2_attachment_filename.eml',
|
||||
)
|
||||
mailbox = Mailbox.objects.create()
|
||||
msg = mailbox.process_incoming_message(email_object)
|
||||
|
||||
expected_count = 2
|
||||
expected_count = 1
|
||||
actual_count = msg.attachments.count()
|
||||
|
||||
self.assertEqual(
|
||||
|
|
@ -160,7 +164,13 @@ class TestProcessEmail(EmailMessageTestCase):
|
|||
actual_count,
|
||||
)
|
||||
|
||||
# TODO: Verify filenames
|
||||
expected_filename = (
|
||||
u'Odp. na wniosek o udost\u0119pnienie '
|
||||
u'inf. publicznej.jpg'
|
||||
)
|
||||
actual_filename = msg.attachments.all()[0].get_filename()
|
||||
|
||||
self.assertEqual(expected_filename, actual_filename)
|
||||
|
||||
def test_message_get_text_body(self):
|
||||
message = self._get_email_object('multipart_text.eml')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue