summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/leap/mail/adaptors/tests/test_soledad_adaptor.py14
-rw-r--r--src/leap/mail/walk.py2
2 files changed, 15 insertions, 1 deletions
diff --git a/src/leap/mail/adaptors/tests/test_soledad_adaptor.py b/src/leap/mail/adaptors/tests/test_soledad_adaptor.py
index bdc2c48..0ddea30 100644
--- a/src/leap/mail/adaptors/tests/test_soledad_adaptor.py
+++ b/src/leap/mail/adaptors/tests/test_soledad_adaptor.py
@@ -28,6 +28,9 @@ from leap.mail.adaptors.soledad import SoledadIndexMixin
from leap.mail.adaptors.soledad import SoledadMailAdaptor
from leap.mail.tests.common import SoledadTestMixin
+from email.MIMEMultipart import MIMEMultipart
+from email.mime.text import MIMEText
+
# DEBUG
# import logging
# logging.basicConfig(level=logging.DEBUG)
@@ -330,6 +333,17 @@ class SoledadMailAdaptorTestCase(SoledadTestMixin):
self.assertEqual(msg.wrapper.hdoc.subject, subject)
self.assertEqual(msg.wrapper.cdocs[1].phash, phash)
+ def test_get_msg_from_string_multipart(self):
+ msg = MIMEMultipart()
+ msg['Subject'] = 'Test multipart mail'
+ msg.attach(MIMEText(u'a utf8 message', _charset='utf-8'))
+ adaptor = self.get_adaptor()
+
+ msg = adaptor.get_msg_from_string(TestMessageClass, msg.as_string())
+
+ self.assertEqual('base64', msg.wrapper.cdocs[1].content_transfer_encoding)
+ self.assertEqual('YSB1dGY4IG1lc3NhZ2U=\n', msg.wrapper.cdocs[1].raw)
+
def test_get_msg_from_docs(self):
adaptor = self.get_adaptor()
mdoc = dict(
diff --git a/src/leap/mail/walk.py b/src/leap/mail/walk.py
index f613309..1c74366 100644
--- a/src/leap/mail/walk.py
+++ b/src/leap/mail/walk.py
@@ -99,7 +99,7 @@ def get_raw_docs(msg, parts):
"content-type": headers.get(
'content-type', ''),
"content-transfer-encoding": headers.get(
- 'content-transfer-type', '')
+ 'content-transfer-encoding', '')
} for payload, headers in get_payloads(msg)
if not isinstance(payload, list))