From e5d718f982e0cd3fc85da00d3abdccce1907e488 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Wed, 2 Sep 2015 12:35:33 +0200 Subject: Download attachments from mail store instead of querier - Issue #435 - Improved error handling of attachment resource --- service/test/unit/adapter/mailstore/test_leap_mailstore.py | 6 +++--- service/test/unit/adapter/test_mail_service.py | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'service/test/unit/adapter') diff --git a/service/test/unit/adapter/mailstore/test_leap_mailstore.py b/service/test/unit/adapter/mailstore/test_leap_mailstore.py index 7cbd1405..96a862be 100644 --- a/service/test/unit/adapter/mailstore/test_leap_mailstore.py +++ b/service/test/unit/adapter/mailstore/test_leap_mailstore.py @@ -137,7 +137,7 @@ class TestLeapMailStore(TestCase): @defer.inlineCallbacks def test_get_mail_attachment(self): attachment_id = 'AAAA9AAD9E153D24265395203C53884506ABA276394B9FEC02B214BF9E77E48E' - doc = ContentDocWrapper(content_type='foo/bar', raw='asdf') + doc = SoledadDocument(json=json.dumps({'content_type': 'foo/bar', 'raw': 'asdf'})) when(self.soledad).get_from_index('by-type-and-payloadhash', 'cnt', attachment_id).thenReturn(defer.succeed([doc])) store = LeapMailStore(self.soledad) @@ -153,8 +153,8 @@ class TestLeapMailStore(TestCase): ('quoted-printable', 'äsdf', '=C3=A4sdf')] for transfer_encoding, data, encoded_data in encoding_examples: - doc = ContentDocWrapper(content_type='foo/bar', raw=encoded_data, - content_transfer_encoding=transfer_encoding) + doc = SoledadDocument(json=json.dumps({'content_type': 'foo/bar', 'raw': encoded_data, + 'content_transfer_encoding': transfer_encoding})) when(self.soledad).get_from_index('by-type-and-payloadhash', 'cnt', attachment_id).thenReturn(defer.succeed([doc])) store = LeapMailStore(self.soledad) diff --git a/service/test/unit/adapter/test_mail_service.py b/service/test/unit/adapter/test_mail_service.py index 79161a04..30784769 100644 --- a/service/test/unit/adapter/test_mail_service.py +++ b/service/test/unit/adapter/test_mail_service.py @@ -130,3 +130,12 @@ class TestMailService(unittest.TestCase): yield self.mail_service.recover_mail(1) verify(self.mail_store).move_mail_to_mailbox(1, 'INBOX') + + @defer.inlineCallbacks + def test_get_attachment(self): + attachment_dict = {'content': bytearray('data'), 'content-type': 'text/plain'} + when(self.mail_store).get_mail_attachment('some attachment id').thenReturn(defer.succeed(attachment_dict)) + + attachment = yield self.mail_service.attachment('some attachment id') + + self.assertEqual(attachment_dict, attachment) -- cgit v1.2.3