From 32322267dd9e89cb6f0ed07ac7869a57f0eaeb47 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 22 Jun 2017 02:37:37 -0300 Subject: [bug] incoming doesnt accept encryption schemes According to /incoming specification, this parameter doesn't exists. It was added on MX side and brought here on transition. This commit explicitly removes it, leaving a track on history that it got removed during transition. Further work on MX will also remove the "NONE" encryption scheme, which is part of dead code. --- server/src/leap/soledad/server/_incoming.py | 5 ++--- testing/tests/server/test_incoming_resource.py | 4 ++-- testing/tests/server/test_incoming_server.py | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/server/src/leap/soledad/server/_incoming.py b/server/src/leap/soledad/server/_incoming.py index 1f74a6e4..6fd91a08 100644 --- a/server/src/leap/soledad/server/_incoming.py +++ b/server/src/leap/soledad/server/_incoming.py @@ -27,7 +27,6 @@ from leap.soledad.common.crypto import EncryptionSchemes __all__ = ['IncomingResource'] -ACCEPTED_SCHEMES = [EncryptionSchemes.NONE, EncryptionSchemes.PUBKEY] def _default_backend(): @@ -43,8 +42,8 @@ class IncomingResource(Resource): self.formatter = IncomingFormatter() def render_PUT(self, request): - uuid, doc_id, scheme = request.postpath - assert scheme in ACCEPTED_SCHEMES + uuid, doc_id = request.postpath + scheme = EncryptionSchemes.PUBKEY db = self.factory.open_database(uuid) doc = ServerDocument(doc_id) doc.content = self.formatter.format(request.content.read(), scheme) diff --git a/testing/tests/server/test_incoming_resource.py b/testing/tests/server/test_incoming_resource.py index e9148b4a..16e1e720 100644 --- a/testing/tests/server/test_incoming_resource.py +++ b/testing/tests/server/test_incoming_resource.py @@ -38,9 +38,9 @@ class IncomingResourceTestCase(unittest.TestCase): def test_save_document(self): formatter = IncomingFormatter() - doc_id, scheme = uuid4().hex, EncryptionSchemes.NONE + doc_id, scheme = uuid4().hex, EncryptionSchemes.PUBKEY content = 'Incoming content' - request = DummyRequest([self.user_uuid, doc_id, scheme]) + request = DummyRequest([self.user_uuid, doc_id]) request.content = BytesIO(content) self.resource.render_PUT(request) diff --git a/testing/tests/server/test_incoming_server.py b/testing/tests/server/test_incoming_server.py index afb0c970..64ac4353 100644 --- a/testing/tests/server/test_incoming_server.py +++ b/testing/tests/server/test_incoming_server.py @@ -51,9 +51,9 @@ class IncomingServerTestCase(CouchDBTestCase): @pytest.mark.usefixtures("method_tmpdir") def test_put_incoming_creates_a_document(self): user_id, doc_id = self.user_id, uuid4().hex - content, scheme = 'Hi', EncryptionSchemes.NONE + content, scheme = 'Hi', EncryptionSchemes.PUBKEY formatter = IncomingFormatter() - incoming_endpoint = self.uri + '%s/%s/%s' % (user_id, doc_id, scheme) + incoming_endpoint = self.uri + '%s/%s' % (user_id, doc_id) yield treq.put(incoming_endpoint, BytesIO(content), persistent=False) db = self.state.open_database(user_id) -- cgit v1.2.3