summaryrefslogtreecommitdiff
path: root/service/test
diff options
context:
space:
mode:
Diffstat (limited to 'service/test')
-rw-r--r--service/test/integration/retrieve_attachment_test.py42
-rw-r--r--service/test/support/integration_helper.py11
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)