diff options
author | Tulio Casagrande <tcasagra@thoughtworks.com> | 2016-06-16 17:40:53 -0300 |
---|---|---|
committer | Tulio Casagrande <tcasagra@thoughtworks.com> | 2016-06-16 17:40:53 -0300 |
commit | 18b0c6d8f71972be8bbe7e7ce08176c91a912080 (patch) | |
tree | 4b171740fd6f8cd044de6f9cefb8778d047674cf /service/test/integration | |
parent | f5cf17f34227f8fe391d769f3cb33aad6de5172e (diff) |
Fix UNNAMED attachment bug
Previously some attachments were being showed as UNNAMED. This change fix it and
creates propers tests for attachments.
See: #608
Diffstat (limited to 'service/test/integration')
-rw-r--r-- | service/test/integration/test_leap_mailstore.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/service/test/integration/test_leap_mailstore.py b/service/test/integration/test_leap_mailstore.py index 07ab0b44..383ad6ea 100644 --- a/service/test/integration/test_leap_mailstore.py +++ b/service/test/integration/test_leap_mailstore.py @@ -39,6 +39,31 @@ class LeapMailStoreTest(SoledadTestBase): self.assertEqual(expected_mail_dict, result.as_dict()) @defer.inlineCallbacks + def test_get_mail_with_attachment(self): + input_mail = MIMEMultipart() + input_mail.attach(MIMEText(u'a utf8 message', _charset='utf-8')) + attachment = MIMEApplication('pretend to be binary attachment data') + attachment.add_header('Content-Disposition', 'attachment', filename='filename.txt') + input_mail.attach(attachment) + + mail = yield self.mail_store.add_mail('INBOX', input_mail.as_string()) + fetched_mail = yield self.mail_store.get_mail(mail.ident, include_body=True) + self.assertTrue(fetched_mail.as_dict()['attachments']) + + @defer.inlineCallbacks + def test_attachment_name(self): + input_mail = MIMEMultipart() + input_mail.attach(MIMEText(u'a utf8 message', _charset='utf-8')) + attachment = MIMEApplication('pretend to be binary attachment data') + attachment.add_header('Content-Disposition', 'attachment', filename='filename.txt') + input_mail.attach(attachment) + + mail = yield self.mail_store.add_mail('INBOX', input_mail.as_string()) + fetched_mail = yield self.mail_store.get_mail(mail.ident, include_body=True) + fetched_attachment_name = fetched_mail.as_dict()['attachments'][0]['name'] + self.assertEqual(fetched_attachment_name, 'filename.txt') + + @defer.inlineCallbacks def test_round_trip_through_soledad_does_not_modify_content(self): mail = load_mail_from_file('mbox00000000') mail_id = yield self._create_mail_in_soledad(mail) |