summaryrefslogtreecommitdiff
path: root/common/src/leap/soledad
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/leap/soledad')
-rw-r--r--common/src/leap/soledad/common/tests/test_server.py46
-rw-r--r--common/src/leap/soledad/common/tests/util.py2
2 files changed, 30 insertions, 18 deletions
diff --git a/common/src/leap/soledad/common/tests/test_server.py b/common/src/leap/soledad/common/tests/test_server.py
index 2b653a1c..a8012e08 100644
--- a/common/src/leap/soledad/common/tests/test_server.py
+++ b/common/src/leap/soledad/common/tests/test_server.py
@@ -22,6 +22,7 @@ import tempfile
import mock
import time
import binascii
+from uuid import uuid4
from urlparse import urljoin
from twisted.internet import defer
@@ -93,7 +94,7 @@ class ServerAuthorizationTestCase(BaseSoledadTest):
/user-db/doc/{id} | -
/user-db/sync-from/{source} | GET, PUT, POST
"""
- uuid = 'myuuid'
+ uuid = uuid4().hex
authmap = URLToAuthorization(uuid,)
dbname = authmap._user_db_name
# test global auth
@@ -208,7 +209,7 @@ class ServerAuthorizationTestCase(BaseSoledadTest):
"""
Test if authorization fails for a wrong dbname.
"""
- uuid = 'myuuid'
+ uuid = uuid4().hex
authmap = URLToAuthorization(uuid)
dbname = 'somedb'
# test wrong-db database resource auth
@@ -283,7 +284,7 @@ class EncryptedSyncTestCase(
sync_target = token_soledad_sync_target
- def _soledad_instance(self, user='user-uuid', passphrase=u'123',
+ def _soledad_instance(self, user=None, passphrase=u'123',
prefix='',
secrets_path='secrets.json',
local_db_path='soledad.u1db',
@@ -336,15 +337,17 @@ class EncryptedSyncTestCase(
TestCaseWithServer.tearDown(self)
def _test_encrypted_sym_sync(self, passphrase=u'123', doc_size=2,
- number_of_docs=1):
+ number_of_docs=1):
"""
Test the complete syncing chain between two soledad dbs using a
Soledad server backed by a couch database.
"""
self.startServer()
+ user = 'user-' + uuid4().hex
# instantiate soledad and create a document
sol1 = self._soledad_instance(
+ user=user,
# token is verified in test_target.make_token_soledad_app
auth_token='auth-token',
passphrase=passphrase)
@@ -352,6 +355,7 @@ class EncryptedSyncTestCase(
# instantiate another soledad using the same secret as the previous
# one (so we can correctly verify the mac of the synced document)
sol2 = self._soledad_instance(
+ user=user,
prefix='x',
auth_token='auth-token',
secrets_path=sol1._secrets_path,
@@ -359,7 +363,7 @@ class EncryptedSyncTestCase(
# ensure remote db exists before syncing
db = CouchDatabase.open_database(
- urljoin(self._couch_url, 'user-user-uuid'),
+ urljoin(self._couch_url, 'user-' + user),
create=True,
ensure_ddocs=True)
@@ -370,7 +374,7 @@ class EncryptedSyncTestCase(
def _db1CreateDocs(results):
deferreds = []
for i in xrange(number_of_docs):
- content = binascii.hexlify(os.urandom(doc_size/2))
+ content = binascii.hexlify(os.urandom(doc_size/2))
deferreds.append(sol1.create_doc({'data': content}))
return defer.DeferredList(deferreds)
@@ -461,6 +465,7 @@ class EncryptedSyncTestCase(
"""
return self._test_encrypted_sym_sync(doc_size=2, number_of_docs=100)
+
class LockResourceTestCase(
CouchDBTestCase, TestCaseWithServer):
"""
@@ -506,7 +511,8 @@ class LockResourceTestCase(
def test__try_obtain_filesystem_lock(self):
responder = mock.Mock()
- lr = LockResource('uuid', self._state, responder)
+ lock_uuid = uuid4().hex
+ lr = LockResource(lock_uuid, self._state, responder)
self.assertFalse(lr._lock.locked)
self.assertTrue(lr._try_obtain_filesystem_lock())
self.assertTrue(lr._lock.locked)
@@ -514,7 +520,8 @@ class LockResourceTestCase(
def test__try_release_filesystem_lock(self):
responder = mock.Mock()
- lr = LockResource('uuid', self._state, responder)
+ lock_uuid = uuid4().hex
+ lr = LockResource(lock_uuid, self._state, responder)
lr._try_obtain_filesystem_lock()
self.assertTrue(lr._lock.locked)
lr._try_release_filesystem_lock()
@@ -522,11 +529,12 @@ class LockResourceTestCase(
def test_put(self):
responder = mock.Mock()
- lr = LockResource('uuid', self._state, responder)
+ lock_uuid = uuid4().hex
+ lr = LockResource(lock_uuid, self._state, responder)
# lock!
lr.put({}, None)
# assert lock document was correctly written
- lock_doc = lr._shared_db.get_doc('lock-uuid')
+ lock_doc = lr._shared_db.get_doc('lock-' + lock_uuid)
self.assertIsNotNone(lock_doc)
self.assertTrue(LockResource.TIMESTAMP_KEY in lock_doc.content)
self.assertTrue(LockResource.LOCK_TOKEN_KEY in lock_doc.content)
@@ -541,20 +549,22 @@ class LockResourceTestCase(
def test_delete(self):
responder = mock.Mock()
- lr = LockResource('uuid', self._state, responder)
+ lock_uuid = uuid4().hex
+ lr = LockResource(lock_uuid, self._state, responder)
# lock!
lr.put({}, None)
- lock_doc = lr._shared_db.get_doc('lock-uuid')
+ lock_doc = lr._shared_db.get_doc('lock-' + lock_uuid)
token = lock_doc.content[LockResource.LOCK_TOKEN_KEY]
# unlock!
lr.delete({'token': token}, None)
self.assertFalse(lr._lock.locked)
- self.assertIsNone(lr._shared_db.get_doc('lock-uuid'))
+ self.assertIsNone(lr._shared_db.get_doc('lock-' + lock_uuid))
responder.send_response_json.assert_called_with(200)
def test_put_while_locked_fails(self):
responder = mock.Mock()
- lr = LockResource('uuid', self._state, responder)
+ lock_uuid = uuid4().hex
+ lr = LockResource(lock_uuid, self._state, responder)
# lock!
lr.put({}, None)
# try to lock again!
@@ -572,7 +582,8 @@ class LockResourceTestCase(
def test_unlock_unexisting_lock_fails(self):
responder = mock.Mock()
- lr = LockResource('uuid', self._state, responder)
+ lock_uuid = uuid4().hex
+ lr = LockResource(lock_uuid, self._state, responder)
# unlock!
lr.delete({'token': 'anything'}, None)
responder.send_response_json.assert_called_with(
@@ -580,11 +591,12 @@ class LockResourceTestCase(
def test_unlock_with_wrong_token_fails(self):
responder = mock.Mock()
- lr = LockResource('uuid', self._state, responder)
+ lock_uuid = uuid4().hex
+ lr = LockResource(lock_uuid, self._state, responder)
# lock!
lr.put({}, None)
# unlock!
lr.delete({'token': 'wrongtoken'}, None)
- self.assertIsNotNone(lr._shared_db.get_doc('lock-uuid'))
+ self.assertIsNotNone(lr._shared_db.get_doc('lock-' + lock_uuid))
responder.send_response_json.assert_called_with(
401, error='unlock unauthorized')
diff --git a/common/src/leap/soledad/common/tests/util.py b/common/src/leap/soledad/common/tests/util.py
index 17ed3855..8536e4a8 100644
--- a/common/src/leap/soledad/common/tests/util.py
+++ b/common/src/leap/soledad/common/tests/util.py
@@ -102,7 +102,7 @@ def make_token_soledad_app(state):
app = SoledadApp(state)
def _verify_authentication_data(uuid, auth_data):
- if uuid == 'user-uuid' and auth_data == 'auth-token':
+ if uuid.startswith('user-') and auth_data == 'auth-token':
return True
return False