Test for base64 encoded e-mail attachment filename
Signed-off-by: Cornelius Ludmann <dev@cornelius-ludmann.de>
This commit is contained in:
@@ -18,7 +18,7 @@ from user_management.tests import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from ..literals import SOURCE_UNCOMPRESS_CHOICE_Y
|
from ..literals import SOURCE_UNCOMPRESS_CHOICE_Y
|
||||||
from ..models import WatchFolderSource, WebFormSource
|
from ..models import WatchFolderSource, WebFormSource, EmailBaseModel
|
||||||
|
|
||||||
|
|
||||||
@override_settings(OCR_AUTO_OCR=False)
|
@override_settings(OCR_AUTO_OCR=False)
|
||||||
@@ -127,3 +127,55 @@ class CompressedUploadsTestCase(BaseTestCase):
|
|||||||
'label', flat=True
|
'label', flat=True
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
test_email = """From: noreply@example.com
|
||||||
|
To: test@example.com
|
||||||
|
Subject: Scan to E-mail Server Job
|
||||||
|
Date: Tue, 23 May 2017 23:03:37 +0200
|
||||||
|
Message-Id: <00000001.465619c9.1.00@BRN30055CCF4D76>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: multipart/mixed;
|
||||||
|
boundary="RS1tYWlsIENsaWVudA=="
|
||||||
|
X-Mailer: E-mail Client
|
||||||
|
|
||||||
|
This is multipart message.
|
||||||
|
|
||||||
|
--RS1tYWlsIENsaWVudA==
|
||||||
|
Content-Type: text/plain; charset=iso-8859-1
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
|
||||||
|
Sending device cannot receive e-mail replies.
|
||||||
|
--RS1tYWlsIENsaWVudA==
|
||||||
|
Content-Type: text/plain
|
||||||
|
Content-Transfer-Encoding: base64
|
||||||
|
Content-Disposition: attachment; filename="=?UTF-8?B?QW1wZWxtw6RubmNoZW4udHh0?="
|
||||||
|
|
||||||
|
SGFsbG8gQW1wZWxtw6RubmNoZW4hCg==
|
||||||
|
|
||||||
|
--RS1tYWlsIENsaWVudA==--"""
|
||||||
|
|
||||||
|
|
||||||
|
class SourceStub():
|
||||||
|
subject_metadata_type = None
|
||||||
|
from_metadata_type = None
|
||||||
|
metadata_attachment_name = None
|
||||||
|
document_type = None
|
||||||
|
uncompress = None
|
||||||
|
store_body = False
|
||||||
|
label = ""
|
||||||
|
|
||||||
|
def handle_upload(self, file_object, description=None, document_type=None, expand=False, label=None, language=None,
|
||||||
|
metadata_dict_list=None, metadata_dictionary=None, tag_ids=None, user=None):
|
||||||
|
self.label = label
|
||||||
|
|
||||||
|
|
||||||
|
class EmailFilenameDecodingTestCase(BaseTestCase):
|
||||||
|
"""
|
||||||
|
Test decoding of base64 encoded e-mail attachment filename.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def test_decode_email_encoded_filename(self):
|
||||||
|
source_stub = SourceStub()
|
||||||
|
EmailBaseModel.process_message(source_stub, test_email)
|
||||||
|
self.assertEqual(source_stub.label, u'Ampelm\xe4nnchen.txt')
|
||||||
|
|||||||
Reference in New Issue
Block a user