diff options
author | Patrick Maia <patrickjourdanmaia@gmail.com> | 2014-11-11 17:06:39 +0000 |
---|---|---|
committer | Patrick Maia <patrickjourdanmaia@gmail.com> | 2014-11-11 18:02:10 +0000 |
commit | 833f28aef3d62810edfe0124448c760189cc3efa (patch) | |
tree | 0394bb38c676cf7e80c62b8b741bc897ef3f7a68 /service/test | |
parent | 75efc35c03c1c94103ce6ef4fd0dbe859e54cc63 (diff) |
Card #30 - migrates attachments controller to twisted
Diffstat (limited to 'service/test')
-rw-r--r-- | service/test/integration/retrieve_attachment_test.py | 42 | ||||
-rw-r--r-- | service/test/support/integration_helper.py | 11 |
2 files changed, 53 insertions, 0 deletions
diff --git a/service/test/integration/retrieve_attachment_test.py b/service/test/integration/retrieve_attachment_test.py new file mode 100644 index 00000000..37bc3ca2 --- /dev/null +++ b/service/test/integration/retrieve_attachment_test.py @@ -0,0 +1,42 @@ +# +# Copyright (c) 2014 ThoughtWorks, Inc. +# +# Pixelated is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pixelated is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Pixelated. If not, see <http://www.gnu.org/licenses/>. +import unittest + +from test.support.integration_helper import SoledadTestBase + + +class RetrieveAttachmentTest(unittest.TestCase, SoledadTestBase): + + def setUp(self): + self.setup_soledad() + + def tearDown(self): + self.teardown_soledad() + + def test_attachment_content_is_retrieved(self): + ident = 'F4E99C1CEC4D300A4223A96CCABBE0304BDBC31C550A5A03E207A5E4C3C71A22' + attachment_dict = {'content-disposition': 'attachment', + 'content-transfer-encoding': '', + 'type': 'cnt', + 'raw': 'cGVxdWVubyBhbmV4byA6RAo=', + 'phash': ident, + 'content-type': 'text/plain; charset=US-ASCII; name="attachment_pequeno.txt"'} + + self.add_document_to_soledad(attachment_dict) + + attachment = self.get_attachment(ident, 'base64') + + self.assertEquals('pequeno anexo :D\n', attachment) diff --git a/service/test/support/integration_helper.py b/service/test/support/integration_helper.py index 6ab96e52..36d297d6 100644 --- a/service/test/support/integration_helper.py +++ b/service/test/support/integration_helper.py @@ -183,6 +183,14 @@ class SoledadTestBase: response = json.loads(request.getWrittenData()) return ResponseMail(response) + def get_attachment(self, ident, encoding): + request = requestMock(path='/attachment/' + ident) + request.args = { + 'encoding': encoding + } + _render(self.resource, request) + return request.getWrittenData() + def put_mail(self, data): request = requestMock('/mails', method="PUT", body=data, headers={'Content-Type': ['application/json']}) _render(self.resource, request) @@ -226,6 +234,9 @@ class SoledadTestBase: _render(self.resource, request) return request + def add_document_to_soledad(self, _dict): + self.soledad_querier.soledad.create_doc(_dict) + def add_mail_to_inbox(self, input_mail): mail = self.mailboxes.inbox().add(input_mail) mail.update_tags(input_mail.tags) |