diff options
Diffstat (limited to 'service/test/integration')
-rw-r--r-- | service/test/integration/test_retrieve_attachment.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/service/test/integration/test_retrieve_attachment.py b/service/test/integration/test_retrieve_attachment.py index bc7f8a0d..ca11a14d 100644 --- a/service/test/integration/test_retrieve_attachment.py +++ b/service/test/integration/test_retrieve_attachment.py @@ -13,10 +13,13 @@ # # 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 base64 +from email import encoders from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText +from poster.encode import multipart_encode, MultipartParam from twisted.internet import defer from test.support.integration.soledad_test_base import SoledadTestBase @@ -49,3 +52,17 @@ class RetrieveAttachmentTest(SoledadTestBase): self.assertEqual(404, req.code) self.assertIsNone(attachment) + + @defer.inlineCallbacks + def test_post_new_attachment(self): + content_type = 'text/plain' + filename = 'filename.txt' + data = 'pretend to be binary attachment data' + file = MultipartParam('attachment', value=data, filename=filename, filetype=content_type) + datagen, headers = multipart_encode([file]) + post_data = "".join(datagen) + + _, req = yield self.post_attachment(post_data, headers) + + self.assertEqual(201, req.code) + self.assertEqual('/attachment/B5B4ED80AC3B894523D72E375DACAA2FC6606C18EDF680FE95903086C8B5E14A', req.headers['Location']) |