summaryrefslogtreecommitdiff
path: root/src/leap/mail
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 13:38:56 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 13:38:56 +0200
commit68fdc62d4c2792fb7fdea90f1117cf6c6f1c5ffc (patch)
treeac958d48fcc9596f1f6d1d0112788e366cc51dab /src/leap/mail
parent521b0621563aad45d2354ff86af698d3c3261fb6 (diff)
[bug] Fix typo in content-transfer-encoding in walk.py.
The get_raw_docs method accesses header field content-transfer-encoding using the string 'content-transfer-type' so the raw doc dict always ends up with that value set to empty string.
Diffstat (limited to 'src/leap/mail')
-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))