summaryrefslogtreecommitdiff
path: root/testing/tests/client/test_deprecated_crypto.py
diff options
context:
space:
mode:
authordrebs <drebs@riseup.net>2017-09-17 12:08:25 -0300
committerdrebs <drebs@riseup.net>2017-09-17 15:50:55 -0300
commitcfff46ff9becdbe5cf48816870e625ed253ecc57 (patch)
tree8d239e4499f559d86ed17ea3632008303b25d485 /testing/tests/client/test_deprecated_crypto.py
parentf29abe28bd778838626d12fcabe3980a8ce4fa8c (diff)
[refactor] move tests to root of repository
Tests entrypoint was in a testing/ subfolder in the root of the repository. This was made mainly because we had some common files for tests and we didn't want to ship them (files in testing/test_soledad, which is itself a python package. This sometimes causes errors when loading tests (it seems setuptools is confused with having one python package in a subdirectory of another). This commit moves the tests entrypoint to the root of the repository. Closes: #8952
Diffstat (limited to 'testing/tests/client/test_deprecated_crypto.py')
-rw-r--r--testing/tests/client/test_deprecated_crypto.py94
1 files changed, 0 insertions, 94 deletions
diff --git a/testing/tests/client/test_deprecated_crypto.py b/testing/tests/client/test_deprecated_crypto.py
deleted file mode 100644
index 939a2003..00000000
--- a/testing/tests/client/test_deprecated_crypto.py
+++ /dev/null
@@ -1,94 +0,0 @@
-import json
-import pytest
-
-from pytest import inlineCallbacks
-from six.moves.urllib.parse import urljoin
-from uuid import uuid4
-
-from leap.soledad.client import crypto as old_crypto
-from leap.soledad.common.couch import CouchDatabase
-from leap.soledad.common import crypto as common_crypto
-
-from test_soledad.u1db_tests import simple_doc
-from test_soledad.util import SoledadWithCouchServerMixin
-from test_soledad.util import make_token_soledad_app
-from test_soledad.u1db_tests import TestCaseWithServer
-
-
-def deprecate_client_crypto(client):
- secret = client._crypto.secret
- _crypto = old_crypto.SoledadCrypto(secret)
- setattr(client._dbsyncer, '_crypto', _crypto)
- return client
-
-
-def couch_database(couch_url, uuid):
- db = CouchDatabase(couch_url, "user-%s" % (uuid,))
- return db
-
-
-class DeprecatedCryptoTest(SoledadWithCouchServerMixin, TestCaseWithServer):
-
- def setUp(self):
- SoledadWithCouchServerMixin.setUp(self)
- TestCaseWithServer.setUp(self)
-
- def tearDown(self):
- SoledadWithCouchServerMixin.tearDown(self)
- TestCaseWithServer.tearDown(self)
-
- @staticmethod
- def make_app_with_state(state):
- return make_token_soledad_app(state)
-
- @pytest.mark.needs_couch
- @inlineCallbacks
- def test_touch_updates_remote_representation(self):
- self.startTwistedServer()
- user = 'user-' + uuid4().hex
- server_url = 'http://%s:%d' % (self.server_address)
- client = self._soledad_instance(user=user, server_url=server_url)
- deprecated_client = deprecate_client_crypto(
- self._soledad_instance(user=user, server_url=server_url))
-
- self.make_app()
- remote = self.request_state._create_database(replica_uid=client.uuid)
- remote = CouchDatabase.open_database(
- urljoin(self.couch_url, 'user-' + user),
- create=True)
-
- # ensure remote db is empty
- gen, docs = remote.get_all_docs()
- assert gen == 0
- assert len(docs) == 0
-
- # create a doc with deprecated client and sync
- yield deprecated_client.create_doc(json.loads(simple_doc))
- yield deprecated_client.sync()
-
- # check for doc in remote db
- gen, docs = remote.get_all_docs()
- assert gen == 1
- assert len(docs) == 1
- doc = docs.pop()
- content = doc.content
- assert common_crypto.ENC_JSON_KEY in content
- assert common_crypto.ENC_SCHEME_KEY in content
- assert common_crypto.ENC_METHOD_KEY in content
- assert common_crypto.ENC_IV_KEY in content
- assert common_crypto.MAC_KEY in content
- assert common_crypto.MAC_METHOD_KEY in content
-
- # "touch" the document with a newer client and synx
- _, docs = yield client.get_all_docs()
- yield client.put_doc(doc)
- yield client.sync()
-
- # check for newer representation of doc in remote db
- gen, docs = remote.get_all_docs()
- assert gen == 2
- assert len(docs) == 1
- doc = docs.pop()
- content = doc.content
- assert len(content) == 1
- assert 'raw' in content