summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/src/leap/soledad/common/__init__.py9
-rw-r--r--common/src/leap/soledad/common/_version.py18
-rw-r--r--common/src/leap/soledad/common/tests/test_async.py3
-rw-r--r--common/src/leap/soledad/common/tests/test_couch.py76
-rw-r--r--common/src/leap/soledad/common/tests/test_couch_operations_atomicity.py27
-rw-r--r--common/src/leap/soledad/common/tests/test_http.py4
-rw-r--r--common/src/leap/soledad/common/tests/test_http_client.py4
-rw-r--r--common/src/leap/soledad/common/tests/test_https.py15
-rw-r--r--common/src/leap/soledad/common/tests/test_server.py4
-rw-r--r--common/src/leap/soledad/common/tests/test_soledad_app.py4
-rw-r--r--common/src/leap/soledad/common/tests/test_soledad_doc.py4
-rw-r--r--common/src/leap/soledad/common/tests/test_sqlcipher.py30
-rw-r--r--common/src/leap/soledad/common/tests/test_sqlcipher_sync.py16
-rw-r--r--common/src/leap/soledad/common/tests/test_sync.py18
-rw-r--r--common/src/leap/soledad/common/tests/test_sync_deferred.py22
-rw-r--r--common/src/leap/soledad/common/tests/test_sync_target.py29
-rw-r--r--common/src/leap/soledad/common/tests/u1db_tests/__init__.py7
-rw-r--r--common/src/leap/soledad/common/tests/u1db_tests/test_backends.py6
-rw-r--r--common/src/leap/soledad/common/tests/u1db_tests/test_document.py2
-rw-r--r--common/src/leap/soledad/common/tests/u1db_tests/test_http_app.py2
-rw-r--r--common/src/leap/soledad/common/tests/u1db_tests/test_sync.py9
-rw-r--r--common/src/leap/soledad/common/tests/util.py16
22 files changed, 174 insertions, 151 deletions
diff --git a/common/src/leap/soledad/common/__init__.py b/common/src/leap/soledad/common/__init__.py
index 1e52e3a7..1ba6ab89 100644
--- a/common/src/leap/soledad/common/__init__.py
+++ b/common/src/leap/soledad/common/__init__.py
@@ -15,6 +15,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+from leap.common.check import leap_assert as soledad_assert
+from leap.common.check import leap_assert_type as soledad_assert_type
+
+from ._version import get_versions
"""
Soledad routines common to client and server.
@@ -34,11 +38,6 @@ USER_DB_PREFIX = 'user-'
# Global functions
#
-from leap.common.check import leap_assert as soledad_assert
-from leap.common.check import leap_assert_type as soledad_assert_type
-
-
-from ._version import get_versions
__version__ = get_versions()['version']
del get_versions
diff --git a/common/src/leap/soledad/common/_version.py b/common/src/leap/soledad/common/_version.py
index 7d4262b5..538b829d 100644
--- a/common/src/leap/soledad/common/_version.py
+++ b/common/src/leap/soledad/common/_version.py
@@ -1,5 +1,3 @@
-
-IN_LONG_VERSION_PY = True
# This file helps to compute a version number in source trees obtained from
# git-archive tarball (such as those provided by githubs download-from-tag
# feature). Distribution tarballs (build by setup.py sdist) and build
@@ -10,12 +8,15 @@ IN_LONG_VERSION_PY = True
# versioneer-0.7+ (https://github.com/warner/python-versioneer)
# these strings will be replaced by git during git-archive
-git_refnames = "$Format:%d$"
-git_full = "$Format:%H$"
-
-
import subprocess
import sys
+import re
+import os.path
+
+IN_LONG_VERSION_PY = True
+
+git_refnames = "$Format:%d$"
+git_full = "$Format:%H$"
def run_command(args, cwd=None, verbose=False):
@@ -37,9 +38,6 @@ def run_command(args, cwd=None, verbose=False):
return None
return stdout
-import re
-import os.path
-
def get_expanded_variables(versionfile_source):
# the code embedded in _version.py can just fetch the value of these
@@ -85,7 +83,7 @@ def versions_from_expanded_variables(variables, tag_prefix, verbose=False):
# "stabilization", as well as "HEAD" and "master".
tags = set([r for r in refs if re.search(r'\d', r)])
if verbose:
- print("discarding '%s', no digits" % ",".join(refs-tags))
+ print("discarding '%s', no digits" % ",".join(refs - tags))
if verbose:
print("likely tags: %s" % ",".join(sorted(tags)))
for ref in sorted(tags):
diff --git a/common/src/leap/soledad/common/tests/test_async.py b/common/src/leap/soledad/common/tests/test_async.py
index 03b8c553..5f273e08 100644
--- a/common/src/leap/soledad/common/tests/test_async.py
+++ b/common/src/leap/soledad/common/tests/test_async.py
@@ -91,7 +91,7 @@ class ASyncSQLCipherRetryTestCase(BaseSoledadTest):
def _errback(e):
if e.value[0].getErrorMessage() == "database is locked":
adbapi.SQLCIPHER_CONNECTION_TIMEOUT = old_timeout
- adbapi.SQLCIPHER_MAX_RETRIES = old_max_retries
+ adbapi.SQLCIPHER_MAX_RETRIES = old_max_retries
return defer.succeed("")
raise Exception
@@ -131,7 +131,6 @@ class ASyncSQLCipherRetryTestCase(BaseSoledadTest):
deferreds.append(d)
return defer.gatherResults(deferreds, consumeErrors=True)
-
def _count_docs(results):
_, docs = results
if self.NUM_DOCS == len(docs):
diff --git a/common/src/leap/soledad/common/tests/test_couch.py b/common/src/leap/soledad/common/tests/test_couch.py
index d2aef9bb..48f0f51b 100644
--- a/common/src/leap/soledad/common/tests/test_couch.py
+++ b/common/src/leap/soledad/common/tests/test_couch.py
@@ -35,20 +35,23 @@ from leap.soledad.common.tests import u1db_tests as tests
from leap.soledad.common.tests.u1db_tests import test_backends
from leap.soledad.common.tests.u1db_tests import test_sync
from leap.soledad.common.tests.util import CouchDBTestCase
+from u1db.backends.inmemory import InMemoryIndex
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_common_backend`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class TestCouchBackendImpl(CouchDBTestCase):
def test__allocate_doc_id(self):
db = couch.CouchDatabase.open_database(
urljoin(
- 'http://localhost:' + str(self.wrapper.port), 'u1db_tests'),
- create=True,
- ensure_ddocs=True)
+ 'http://localhost:' + str(self.wrapper.port),
+ 'u1db_tests'
+ ),
+ create=True,
+ ensure_ddocs=True)
doc_id1 = db._allocate_doc_id()
self.assertTrue(doc_id1.startswith('D-'))
self.assertEqual(34, len(doc_id1))
@@ -56,9 +59,9 @@ class TestCouchBackendImpl(CouchDBTestCase):
self.assertNotEqual(doc_id1, db._allocate_doc_id())
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_backends`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
def make_couch_database_for_test(test, replica_uid):
port = str(test.wrapper.port)
@@ -151,7 +154,9 @@ class CouchTests(
class CouchDatabaseTests(
- TestWithScenarios, test_backends.LocalDatabaseTests, CouchDBTestCase):
+ TestWithScenarios,
+ test_backends.LocalDatabaseTests,
+ CouchDBTestCase):
scenarios = COUCH_SCENARIOS
@@ -160,8 +165,10 @@ class CouchDatabaseTests(
test_backends.LocalDatabaseTests.tearDown(self)
-class CouchValidateGenNTransIdTests(TestWithScenarios,
- test_backends.LocalDatabaseValidateGenNTransIdTests, CouchDBTestCase):
+class CouchValidateGenNTransIdTests(
+ TestWithScenarios,
+ test_backends.LocalDatabaseValidateGenNTransIdTests,
+ CouchDBTestCase):
scenarios = COUCH_SCENARIOS
@@ -170,8 +177,10 @@ class CouchValidateGenNTransIdTests(TestWithScenarios,
test_backends.LocalDatabaseValidateGenNTransIdTests.tearDown(self)
-class CouchValidateSourceGenTests(TestWithScenarios,
- test_backends.LocalDatabaseValidateSourceGenTests, CouchDBTestCase):
+class CouchValidateSourceGenTests(
+ TestWithScenarios,
+ test_backends.LocalDatabaseValidateSourceGenTests,
+ CouchDBTestCase):
scenarios = COUCH_SCENARIOS
@@ -180,31 +189,33 @@ class CouchValidateSourceGenTests(TestWithScenarios,
test_backends.LocalDatabaseValidateSourceGenTests.tearDown(self)
-class CouchWithConflictsTests(TestWithScenarios,
- test_backends.LocalDatabaseWithConflictsTests, CouchDBTestCase):
+class CouchWithConflictsTests(
+ TestWithScenarios,
+ test_backends.LocalDatabaseWithConflictsTests,
+ CouchDBTestCase):
- scenarios = COUCH_SCENARIOS
+ scenarios = COUCH_SCENARIOS
- def tearDown(self):
- self.db.delete_database()
- test_backends.LocalDatabaseWithConflictsTests.tearDown(self)
+ def tearDown(self):
+ self.db.delete_database()
+ test_backends.LocalDatabaseWithConflictsTests.tearDown(self)
# Notice: the CouchDB backend does not have indexing capabilities, so we do
# not test indexing now.
-#class CouchIndexTests(test_backends.DatabaseIndexTests, CouchDBTestCase):
+# class CouchIndexTests(test_backends.DatabaseIndexTests, CouchDBTestCase):
#
-# scenarios = COUCH_SCENARIOS
+# scenarios = COUCH_SCENARIOS
#
-# def tearDown(self):
-# self.db.delete_database()
-# test_backends.DatabaseIndexTests.tearDown(self)
+# def tearDown(self):
+# self.db.delete_database()
+# test_backends.DatabaseIndexTests.tearDown(self)
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_sync`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
target_scenarios = [
('local', {'create_db_and_target': test_sync._make_local_db_and_target}), ]
@@ -243,8 +254,6 @@ class CouchDatabaseSyncTargetTests(
# The following tests need that the database have an index, so we fake one.
-from u1db.backends.inmemory import InMemoryIndex
-
class IndexedCouchDatabase(couch.CouchDatabase):
@@ -350,13 +359,18 @@ class CouchDatabaseSyncTests(
test_sync.DatabaseSyncTests.setUp(self)
def tearDown(self):
- for db in [self.db, self.db1, self.db2, self.db3, self.db1_copy,
- self.db2_copy]:
+ for db in [
+ self.db, self.db1, self.db2,
+ self.db3, self.db1_copy, self.db2_copy
+ ]:
if db is not None:
db.delete_database()
db.close()
- for replica_uid, dbname in [('test1_copy', 'source'),
- ('test2_copy', 'target'), ('test3', 'target')]:
+ for replica_uid, dbname in [
+ ('test1_copy', 'source'),
+ ('test2_copy', 'target'),
+ ('test3', 'target')
+ ]:
db = self.create_database(replica_uid, dbname)
db.delete_database()
# cleanup connections to avoid leaking of file descriptors
diff --git a/common/src/leap/soledad/common/tests/test_couch_operations_atomicity.py b/common/src/leap/soledad/common/tests/test_couch_operations_atomicity.py
index 3de4da1c..32f676ad 100644
--- a/common/src/leap/soledad/common/tests/test_couch_operations_atomicity.py
+++ b/common/src/leap/soledad/common/tests/test_couch_operations_atomicity.py
@@ -114,7 +114,7 @@ class CouchAtomicityTestCase(CouchDBTestCase, TestCaseWithServer):
docs = [doc.doc_id]
for i in range(0, REPEAT_TIMES):
self.assertEqual(
- i+1, len(self.db._get_transaction_log()))
+ i + 1, len(self.db._get_transaction_log()))
doc.content['ops'] += 1
self.db.put_doc(doc)
docs.append(doc.doc_id)
@@ -122,13 +122,13 @@ class CouchAtomicityTestCase(CouchDBTestCase, TestCaseWithServer):
# assert length of transaction_log
transaction_log = self.db._get_transaction_log()
self.assertEqual(
- REPEAT_TIMES+1, len(transaction_log))
+ REPEAT_TIMES + 1, len(transaction_log))
# assert that all entries in the log belong to the same doc
- self.assertEqual(REPEAT_TIMES+1, len(docs))
+ self.assertEqual(REPEAT_TIMES + 1, len(docs))
for doc_id in docs:
self.assertEqual(
- REPEAT_TIMES+1,
+ REPEAT_TIMES + 1,
len(filter(lambda t: t[0] == doc_id, transaction_log)))
def test_correct_transaction_log_after_sequential_deletes(self):
@@ -140,16 +140,16 @@ class CouchAtomicityTestCase(CouchDBTestCase, TestCaseWithServer):
for i in range(0, REPEAT_TIMES):
doc = self.db.create_doc({'ops': 0})
self.assertEqual(
- 2*i+1, len(self.db._get_transaction_log()))
+ 2 * i + 1, len(self.db._get_transaction_log()))
docs.append(doc.doc_id)
self.db.delete_doc(doc)
self.assertEqual(
- 2*i+2, len(self.db._get_transaction_log()))
+ 2 * i + 2, len(self.db._get_transaction_log()))
# assert length of transaction_log
transaction_log = self.db._get_transaction_log()
self.assertEqual(
- 2*REPEAT_TIMES, len(transaction_log))
+ 2 * REPEAT_TIMES, len(transaction_log))
# assert that each doc appears twice in the transaction_log
self.assertEqual(REPEAT_TIMES, len(docs))
@@ -176,7 +176,7 @@ class CouchAtomicityTestCase(CouchDBTestCase, TestCaseWithServer):
def _assert_transaction_and_sync_logs(results, sync_idx):
# assert sizes of transaction and sync logs
self.assertEqual(
- sync_idx*REPEAT_TIMES,
+ sync_idx * REPEAT_TIMES,
len(self.db._get_transaction_log()))
self.assertEqual(
1 if sync_idx > 0 else 0,
@@ -184,10 +184,10 @@ class CouchAtomicityTestCase(CouchDBTestCase, TestCaseWithServer):
def _assert_sync(results, sync_idx):
gen, docs = results
- self.assertEqual((sync_idx+1)*REPEAT_TIMES, gen)
- self.assertEqual((sync_idx+1)*REPEAT_TIMES, len(docs))
+ self.assertEqual((sync_idx + 1) * REPEAT_TIMES, gen)
+ self.assertEqual((sync_idx + 1) * REPEAT_TIMES, len(docs))
# assert sizes of transaction and sync logs
- self.assertEqual((sync_idx+1)*REPEAT_TIMES,
+ self.assertEqual((sync_idx + 1) * REPEAT_TIMES,
len(self.db._get_transaction_log()))
sync_log_rows = self.db._database.view('syncs/log').rows
sync_log = sync_log_rows[0].value
@@ -203,7 +203,7 @@ class CouchAtomicityTestCase(CouchDBTestCase, TestCaseWithServer):
sol_gen, sol_trans_id = conn._get_generation_info()
self.assertEqual(sol_gen, known_gen)
self.assertEqual(sol_trans_id, known_trans_id)
-
+
# create some documents
d = _create_docs(None)
@@ -253,7 +253,6 @@ class CouchAtomicityTestCase(CouchDBTestCase, TestCaseWithServer):
self._params['docs'].append(doc.doc_id)
pool.release()
-
for i in range(0, REPEAT_TIMES):
thread = self._WorkerThread(
{'docs': docs, 'db': self.db},
@@ -306,7 +305,7 @@ class CouchAtomicityTestCase(CouchDBTestCase, TestCaseWithServer):
# assert transaction log
transaction_log = self.db._get_transaction_log()
self.assertEqual(
- 2*REPEAT_TIMES, len(transaction_log))
+ 2 * REPEAT_TIMES, len(transaction_log))
# assert that each doc appears twice in the transaction_log
self.assertEqual(REPEAT_TIMES, len(docs))
for doc_id in docs:
diff --git a/common/src/leap/soledad/common/tests/test_http.py b/common/src/leap/soledad/common/tests/test_http.py
index 1f661b77..bedd1868 100644
--- a/common/src/leap/soledad/common/tests/test_http.py
+++ b/common/src/leap/soledad/common/tests/test_http.py
@@ -23,9 +23,9 @@ from leap.soledad.client import auth
from leap.soledad.common.tests.u1db_tests import test_http_database
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_http_database`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class _HTTPDatabase(http_database.HTTPDatabase, auth.TokenBasedAuth):
"""
diff --git a/common/src/leap/soledad/common/tests/test_http_client.py b/common/src/leap/soledad/common/tests/test_http_client.py
index db731c32..fcf5f75e 100644
--- a/common/src/leap/soledad/common/tests/test_http_client.py
+++ b/common/src/leap/soledad/common/tests/test_http_client.py
@@ -28,9 +28,9 @@ from leap.soledad.common.tests.u1db_tests import test_http_client
from leap.soledad.server.auth import SoledadTokenAuthMiddleware
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_http_client`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class TestSoledadClientBase(
TestWithScenarios,
diff --git a/common/src/leap/soledad/common/tests/test_https.py b/common/src/leap/soledad/common/tests/test_https.py
index 6907e3ed..93619515 100644
--- a/common/src/leap/soledad/common/tests/test_https.py
+++ b/common/src/leap/soledad/common/tests/test_https.py
@@ -46,13 +46,13 @@ LEAP_SCENARIOS = [
]
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_https`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
def token_leap_https_sync_target(test, host, path, cert_file=None):
_, port = test.server.server_address
- #source_replica_uid = test._soledad._dbpool.replica_uid
+ # source_replica_uid = test._soledad._dbpool.replica_uid
creds = {'token': {'uuid': 'user-uuid', 'token': 'auth-token'}}
if not cert_file:
cert_file = test.cacert_pem
@@ -121,10 +121,11 @@ class TestSoledadHTTPSyncTargetHttpsSupport(
remote_target = self.getSyncTarget('localhost', 'test')
d = remote_target.record_sync_info('other-id', 2, 'T-id')
d.addCallback(lambda _:
- self.assertEqual(
- (2, 'T-id'), db._get_replica_gen_and_trans_id('other-id')))
- d.addCallback(lambda _:
- remote_target.close())
+ self.assertEqual(
+ (2, 'T-id'),
+ db._get_replica_gen_and_trans_id('other-id')
+ ))
+ d.addCallback(lambda _: remote_target.close())
return d
def test_host_mismatch(self):
diff --git a/common/src/leap/soledad/common/tests/test_server.py b/common/src/leap/soledad/common/tests/test_server.py
index a8012e08..47cbf4d1 100644
--- a/common/src/leap/soledad/common/tests/test_server.py
+++ b/common/src/leap/soledad/common/tests/test_server.py
@@ -374,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)
@@ -456,7 +456,7 @@ class EncryptedSyncTestCase(
"""
Test if Soledad can sync very large files.
"""
- length = 100*(10**6) # 100 MB
+ length = 100 * (10**6) # 100 MB
return self._test_encrypted_sym_sync(doc_size=length, number_of_docs=1)
def test_sync_many_small_files(self):
diff --git a/common/src/leap/soledad/common/tests/test_soledad_app.py b/common/src/leap/soledad/common/tests/test_soledad_app.py
index 6efae1d6..07ad00a0 100644
--- a/common/src/leap/soledad/common/tests/test_soledad_app.py
+++ b/common/src/leap/soledad/common/tests/test_soledad_app.py
@@ -32,9 +32,9 @@ from leap.soledad.common.tests.util import copy_token_http_database_for_test
from leap.soledad.common.tests.u1db_tests import test_backends
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_backends`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
LEAP_SCENARIOS = [
('http', {
diff --git a/common/src/leap/soledad/common/tests/test_soledad_doc.py b/common/src/leap/soledad/common/tests/test_soledad_doc.py
index 4a67f80a..df9fd09e 100644
--- a/common/src/leap/soledad/common/tests/test_soledad_doc.py
+++ b/common/src/leap/soledad/common/tests/test_soledad_doc.py
@@ -24,9 +24,9 @@ from leap.soledad.common.tests.util import BaseSoledadTest
from leap.soledad.common.tests.util import make_soledad_document_for_test
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_document`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class TestSoledadDocument(
TestWithScenarios,
diff --git a/common/src/leap/soledad/common/tests/test_sqlcipher.py b/common/src/leap/soledad/common/tests/test_sqlcipher.py
index ceb095b8..e1b92fb4 100644
--- a/common/src/leap/soledad/common/tests/test_sqlcipher.py
+++ b/common/src/leap/soledad/common/tests/test_sqlcipher.py
@@ -62,9 +62,9 @@ def sqlcipher_open(path, passphrase, create=True, document_factory=None):
SQLCipherOptions(path, passphrase, create=create))
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_common_backend`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class TestSQLCipherBackendImpl(tests.TestCase):
@@ -78,9 +78,9 @@ class TestSQLCipherBackendImpl(tests.TestCase):
db.close()
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_backends`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
def make_document_for_test(test, doc_id, rev, content, has_conflicts=False):
return SoledadDocument(doc_id, rev, content, has_conflicts=has_conflicts)
@@ -102,19 +102,19 @@ class SQLCipherDatabaseTests(TestWithScenarios, test_backends.LocalDatabaseTests
class SQLCipherValidateGenNTransIdTests(
- TestWithScenarios,
+ TestWithScenarios,
test_backends.LocalDatabaseValidateGenNTransIdTests):
scenarios = SQLCIPHER_SCENARIOS
class SQLCipherValidateSourceGenTests(
- TestWithScenarios,
+ TestWithScenarios,
test_backends.LocalDatabaseValidateSourceGenTests):
scenarios = SQLCIPHER_SCENARIOS
class SQLCipherWithConflictsTests(
- TestWithScenarios,
+ TestWithScenarios,
test_backends.LocalDatabaseWithConflictsTests):
scenarios = SQLCIPHER_SCENARIOS
@@ -124,9 +124,9 @@ class SQLCipherIndexTests(
scenarios = SQLCIPHER_SCENARIOS
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_sqlite_backend`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class TestSQLCipherDatabase(TestWithScenarios, test_sqlite_backend.TestSQLiteDatabase):
@@ -280,7 +280,7 @@ class TestSQLCipherPartialExpandDatabase(
pass
def test_open_database_with_factory(self):
- # SQLCipherDatabase's constructor has no factory parameter.
+ # SQLCipherDatabase's constructor has no factory parameter.
pass
def test_open_database_create(self):
@@ -322,9 +322,9 @@ class TestSQLCipherPartialExpandDatabase(
self.assertEqual(True, self.db.get_doc(doc.doc_id).syncable)
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_open`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class SQLCipherOpen(test_open.TestU1DBOpen):
@@ -344,7 +344,7 @@ class SQLCipherOpen(test_open.TestU1DBOpen):
def test_open_with_factory(self):
db = sqlcipher_open(self.db_path, PASSWORD, create=True,
- document_factory=TestAlternativeDocument)
+ document_factory=TestAlternativeDocument)
self.addCleanup(db.close)
doc = db.create_doc({})
self.assertTrue(isinstance(doc, SoledadDocument))
@@ -367,9 +367,9 @@ class SQLCipherOpen(test_open.TestU1DBOpen):
self.assertIsInstance(db2, SQLCipherDatabase)
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# Tests for actual encryption of the database
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class SQLCipherEncryptionTest(BaseSoledadTest):
"""
diff --git a/common/src/leap/soledad/common/tests/test_sqlcipher_sync.py b/common/src/leap/soledad/common/tests/test_sqlcipher_sync.py
index 83c3449e..869ecf9a 100644
--- a/common/src/leap/soledad/common/tests/test_sqlcipher_sync.py
+++ b/common/src/leap/soledad/common/tests/test_sqlcipher_sync.py
@@ -45,12 +45,12 @@ from leap.soledad.common.tests.util import (
)
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_sync`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
def sync_via_synchronizer_and_soledad(test, db_source, db_target,
- trace_hook=None, trace_hook_shallow=None):
+ trace_hook=None, trace_hook_shallow=None):
if trace_hook:
test.skipTest("full trace hook unsupported over http")
path = test._http_at[db_target]
@@ -82,8 +82,8 @@ class SQLCipherDatabaseSyncTests(
scenarios = sync_scenarios
- #def setUp(self):
- # test_sync.DatabaseSyncTests.setUp(self)
+ # def setUp(self):
+ # test_sync.DatabaseSyncTests.setUp(self)
def tearDown(self):
test_sync.DatabaseSyncTests.tearDown(self)
@@ -123,7 +123,7 @@ class SQLCipherDatabaseSyncTests(
self.assertFalse(doc.has_conflicts)
# if remote content is in conflicted state, then document revisions
# will be different.
- #self.assertEqual(doc.rev, self.db2.get_doc('doc').rev)
+ # self.assertEqual(doc.rev, self.db2.get_doc('doc').rev)
v = vectorclock.VectorClockRev(doc.rev)
self.assertTrue(v.is_newer(vectorclock.VectorClockRev(rev1)))
self.assertTrue(v.is_newer(vectorclock.VectorClockRev(rev2)))
@@ -245,7 +245,7 @@ class SQLCipherDatabaseSyncTests(
# update on 1
doc1.set_json('{"a": 3}')
self.db1.put_doc(doc1)
- # conflicts
+ # conflicts
self.sync(self.db2, self.db1)
self.sync(db3, self.db1)
self.assertTrue(self.db2.get_doc('the-doc').has_conflicts)
@@ -307,7 +307,7 @@ def _make_local_db_and_token_http_target(test, path='test'):
target_scenarios = [
('leap', {
'create_db_and_target': _make_local_db_and_token_http_target,
-# 'make_app_with_state': tests.test_remote_sync_target.make_http_app,
+ # 'make_app_with_state': tests.test_remote_sync_target.make_http_app,
'make_app_with_state': make_soledad_app,
'do_sync': sync_via_synchronizer_and_soledad}),
]
diff --git a/common/src/leap/soledad/common/tests/test_sync.py b/common/src/leap/soledad/common/tests/test_sync.py
index 92c601dc..9449f269 100644
--- a/common/src/leap/soledad/common/tests/test_sync.py
+++ b/common/src/leap/soledad/common/tests/test_sync.py
@@ -80,7 +80,7 @@ class InterruptableSyncTestCase(
"""
A thread meant to interrupt the sync process.
"""
-
+
def __init__(self, soledad, couchdb):
self._soledad = soledad
self._couchdb = couchdb
@@ -88,7 +88,7 @@ class InterruptableSyncTestCase(
def run(self):
while db._get_generation() < 2:
- #print "WAITING %d" % db._get_generation()
+ # print "WAITING %d" % db._get_generation()
time.sleep(0.1)
self._soledad.stop_sync()
time.sleep(1)
@@ -171,16 +171,18 @@ class TestSoledadDbSync(
"""
Need to explicitely invoke inicialization on all bases.
"""
- #tests.TestCaseWithServer.setUp(self)
- #self.main_test_class = test_sync.TestDbSync
+ # tests.TestCaseWithServer.setUp(self)
+ # self.main_test_class = test_sync.TestDbSync
SoledadWithCouchServerMixin.setUp(self)
self.startServer()
self.db = self.make_database_for_test(self, 'test1')
self.db2 = couch.CouchDatabase.open_database(
urljoin(
- 'http://localhost:' + str(self.wrapper.port), 'test'),
- create=True,
- ensure_ddocs=True)
+ 'http://localhost:' + str(self.wrapper.port),
+ 'test'
+ ),
+ create=True,
+ ensure_ddocs=True)
def tearDown(self):
"""
@@ -188,7 +190,7 @@ class TestSoledadDbSync(
"""
self.db2.delete_database()
SoledadWithCouchServerMixin.tearDown(self)
- #tests.TestCaseWithServer.tearDown(self)
+ # tests.TestCaseWithServer.tearDown(self)
def do_sync(self, target_name):
"""
diff --git a/common/src/leap/soledad/common/tests/test_sync_deferred.py b/common/src/leap/soledad/common/tests/test_sync_deferred.py
index 010f5492..33c54641 100644
--- a/common/src/leap/soledad/common/tests/test_sync_deferred.py
+++ b/common/src/leap/soledad/common/tests/test_sync_deferred.py
@@ -85,9 +85,11 @@ class BaseSoledadDeferredEncTest(SoledadWithCouchServerMixin):
self.db2 = couch.CouchDatabase.open_database(
urljoin(
- 'http://localhost:' + str(self.wrapper.port), 'test'),
- create=True,
- ensure_ddocs=True)
+ 'http://localhost:' + str(self.wrapper.port),
+ 'test'
+ ),
+ create=True,
+ ensure_ddocs=True)
def tearDown(self):
self.db1.close()
@@ -154,7 +156,7 @@ class TestSoledadDbSyncDeferredEncDecr(
and Token auth.
"""
if self.token:
- creds={'token': {
+ creds = {'token': {
'uuid': 'user-uuid',
'token': 'auth-token',
}}
@@ -163,11 +165,17 @@ class TestSoledadDbSyncDeferredEncDecr(
# get a u1db syncer
crypto = self._soledad._crypto
replica_uid = self.db1._replica_uid
- dbsyncer = SQLCipherU1DBSync(self.opts, crypto, replica_uid,
+ dbsyncer = SQLCipherU1DBSync(
+ self.opts,
+ crypto,
+ replica_uid,
defer_encryption=True)
self.dbsyncer = dbsyncer
- return dbsyncer.sync(target_url, creds=creds,
- autocreate=True,defer_decryption=DEFER_DECRYPTION)
+ return dbsyncer.sync(
+ target_url,
+ creds=creds,
+ autocreate=True,
+ defer_decryption=DEFER_DECRYPTION)
else:
return test_sync.TestDbSync.do_sync(self, target_name)
diff --git a/common/src/leap/soledad/common/tests/test_sync_target.py b/common/src/leap/soledad/common/tests/test_sync_target.py
index 941dc37c..65c7a2f2 100644
--- a/common/src/leap/soledad/common/tests/test_sync_target.py
+++ b/common/src/leap/soledad/common/tests/test_sync_target.py
@@ -51,9 +51,9 @@ from leap.soledad.common.tests.u1db_tests import test_remote_sync_target
from leap.soledad.common.tests.u1db_tests import test_sync
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_remote_sync_target`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class TestSoledadSyncTargetBasics(
test_remote_sync_target.TestHTTPSyncTargetBasics):
@@ -195,7 +195,7 @@ class TestSoledadSyncTarget(
self.db2 = self.request_state._create_database('test2')
def tearDown(self):
- #db2, _ = self.request_state.ensure_database('test2')
+ # db2, _ = self.request_state.ensure_database('test2')
self.db2.delete_database()
self.db1.close()
SoledadWithCouchServerMixin.tearDown(self)
@@ -326,9 +326,9 @@ class TestSoledadSyncTarget(
pass
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# The following tests come from `u1db.tests.test_sync`.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
target_scenarios = [
('token_leap', {'create_db_and_target':
@@ -468,7 +468,6 @@ class TestSoledadDbSync(
oauth = False
token = False
-
def make_app(self):
self.request_state = couch.CouchServerState(self._couch_url)
return self.make_app_with_state(self.request_state)
@@ -510,9 +509,11 @@ class TestSoledadDbSync(
self.db2 = couch.CouchDatabase.open_database(
urljoin(
- 'http://localhost:' + str(self.wrapper.port), 'test'),
- create=True,
- ensure_ddocs=True)
+ 'http://localhost:' + str(self.wrapper.port),
+ 'test'
+ ),
+ create=True,
+ ensure_ddocs=True)
def tearDown(self):
"""
@@ -535,7 +536,7 @@ class TestSoledadDbSync(
and Token auth.
"""
if self.token:
- creds={'token': {
+ creds = {'token': {
'uuid': 'user-uuid',
'token': 'auth-token',
}}
@@ -545,10 +546,12 @@ class TestSoledadDbSync(
crypto = self._soledad._crypto
replica_uid = self.db1._replica_uid
dbsyncer = SQLCipherU1DBSync(self.opts, crypto, replica_uid,
- defer_encryption=True)
+ defer_encryption=True)
self.dbsyncer = dbsyncer
- return dbsyncer.sync(target_url, creds=creds,
- autocreate=True,defer_decryption=DEFER_DECRYPTION)
+ return dbsyncer.sync(target_url,
+ creds=creds,
+ autocreate=True,
+ defer_decryption=DEFER_DECRYPTION)
else:
return test_sync.TestDbSync.do_sync(self, target_name)
diff --git a/common/src/leap/soledad/common/tests/u1db_tests/__init__.py b/common/src/leap/soledad/common/tests/u1db_tests/__init__.py
index 6efeb87f..787494d3 100644
--- a/common/src/leap/soledad/common/tests/u1db_tests/__init__.py
+++ b/common/src/leap/soledad/common/tests/u1db_tests/__init__.py
@@ -156,7 +156,7 @@ def copy_sqlite_partial_expanded_for_test(test, db):
new_db = sqlite_backend.SQLitePartialExpandDatabase(':memory:')
tmpfile = StringIO()
for line in db._db_handle.iterdump():
- if not 'sqlite_sequence' in line: # work around bug in iterdump
+ if 'sqlite_sequence' not in line: # work around bug in iterdump
tmpfile.write('%s\n' % line)
tmpfile.seek(0)
new_db._db_handle = dbapi2.connect(':memory:')
@@ -185,8 +185,9 @@ LOCAL_DATABASES_SCENARIOS = [
class DatabaseBaseTests(TestCase):
- accept_fixed_trans_id = False # set to True assertTransactionLog
- # is happy with all trans ids = ''
+ # set to True assertTransactionLog
+ # is happy with all trans ids = ''
+ accept_fixed_trans_id = False
scenarios = LOCAL_DATABASES_SCENARIOS
diff --git a/common/src/leap/soledad/common/tests/u1db_tests/test_backends.py b/common/src/leap/soledad/common/tests/u1db_tests/test_backends.py
index 27fc50dc..f26a4474 100644
--- a/common/src/leap/soledad/common/tests/u1db_tests/test_backends.py
+++ b/common/src/leap/soledad/common/tests/u1db_tests/test_backends.py
@@ -28,9 +28,6 @@ from u1db import (
from leap.soledad.common.tests import u1db_tests as tests
-simple_doc = tests.simple_doc
-nested_doc = tests.nested_doc
-
from leap.soledad.common.tests.u1db_tests.test_remote_sync_target import (
make_http_app,
make_oauth_http_app,
@@ -42,6 +39,9 @@ from u1db.remote import (
from unittest import skip
+simple_doc = tests.simple_doc
+nested_doc = tests.nested_doc
+
def make_http_database_for_test(test, replica_uid, path='test', *args):
test.startServer()
diff --git a/common/src/leap/soledad/common/tests/u1db_tests/test_document.py b/common/src/leap/soledad/common/tests/u1db_tests/test_document.py
index d8a27f51..23502b4b 100644
--- a/common/src/leap/soledad/common/tests/u1db_tests/test_document.py
+++ b/common/src/leap/soledad/common/tests/u1db_tests/test_document.py
@@ -26,7 +26,7 @@ class TestDocument(tests.TestCase):
scenarios = ([(
'py', {'make_document_for_test': tests.make_document_for_test})]) # +
- #tests.C_DATABASE_SCENARIOS)
+ # tests.C_DATABASE_SCENARIOS)
def test_create_doc(self):
doc = self.make_document('doc-id', 'uid:1', tests.simple_doc)
diff --git a/common/src/leap/soledad/common/tests/u1db_tests/test_http_app.py b/common/src/leap/soledad/common/tests/u1db_tests/test_http_app.py
index 522eb476..c545aa55 100644
--- a/common/src/leap/soledad/common/tests/u1db_tests/test_http_app.py
+++ b/common/src/leap/soledad/common/tests/u1db_tests/test_http_app.py
@@ -24,7 +24,7 @@ except ImportError:
import json # noqa
import StringIO
-from unittest import skip
+from unittest import skip
from u1db import (
__version__ as _u1db_version,
diff --git a/common/src/leap/soledad/common/tests/u1db_tests/test_sync.py b/common/src/leap/soledad/common/tests/u1db_tests/test_sync.py
index bac1f177..a7b05c9a 100644
--- a/common/src/leap/soledad/common/tests/u1db_tests/test_sync.py
+++ b/common/src/leap/soledad/common/tests/u1db_tests/test_sync.py
@@ -82,7 +82,7 @@ class DatabaseSyncTargetTests(tests.DatabaseBaseTests,
scenarios = (tests.multiply_scenarios(tests.DatabaseBaseTests.scenarios,
target_scenarios))
- #+ c_db_scenarios)
+ # + c_db_scenarios)
# whitebox true means self.db is the actual local db object
# against which the sync is performed
whitebox = True
@@ -373,8 +373,7 @@ class DatabaseSyncTargetTests(tests.DatabaseBaseTests,
called)
def test__set_trace_hook_shallow(self):
- if (self.st._set_trace_hook_shallow == self.st._set_trace_hook
- or
+ if (self.st._set_trace_hook_shallow == self.st._set_trace_hook or
self.st._set_trace_hook_shallow.im_func ==
SyncTarget._set_trace_hook_shallow.im_func):
# shallow same as full
@@ -493,8 +492,8 @@ class DatabaseSyncTests(tests.DatabaseBaseTests,
# NINJA TO YOUR HOUSE.
db_copy = super(DatabaseSyncTests, self).copy_database(db)
name, orig_sync_role = self._use_tracking[db]
- self._use_tracking[db_copy] = (name + '(copy)', sync_role
- or orig_sync_role)
+ self._use_tracking[db_copy] = (name + '(copy)', sync_role or
+ orig_sync_role)
return db_copy
def sync(self, db_from, db_to, trace_hook=None,
diff --git a/common/src/leap/soledad/common/tests/util.py b/common/src/leap/soledad/common/tests/util.py
index 60bab81c..d8d86850 100644
--- a/common/src/leap/soledad/common/tests/util.py
+++ b/common/src/leap/soledad/common/tests/util.py
@@ -83,7 +83,7 @@ def copy_sqlcipher_database_for_test(test, db):
new_db = make_sqlcipher_database_for_test(test, None)
tmpfile = StringIO()
for line in db._db_handle.iterdump():
- if not 'sqlite_sequence' in line: # work around bug in iterdump
+ if 'sqlite_sequence' not in line: # work around bug in iterdump
tmpfile.write('%s\n' % line)
tmpfile.seek(0)
new_db._db_handle = dbapi2.connect(':memory:')
@@ -117,7 +117,7 @@ def make_token_soledad_app(state):
def make_soledad_document_for_test(test, doc_id, rev, content,
- has_conflicts=False):
+ has_conflicts=False):
return SoledadDocument(
doc_id, rev, content, has_conflicts=has_conflicts)
@@ -155,7 +155,7 @@ def copy_token_http_database_for_test(test, db):
class MockedSharedDBTest(object):
def get_default_shared_mock(self, put_doc_side_effect=None,
- get_doc_return_value=None):
+ get_doc_return_value=None):
"""
Get a default class for mocking the shared DB
"""
@@ -235,7 +235,7 @@ class BaseSoledadTest(unittest.TestCase, MockedSharedDBTest):
def _delete_temporary_dirs():
# XXX should not access "private" attrs
for f in [self._soledad.local_db_path,
- self._soledad.secrets.secrets_path]:
+ self._soledad.secrets.secrets_path]:
if os.path.isfile(f):
os.unlink(f)
# The following snippet comes from BaseLeapTest.setUpClass, but we
@@ -251,7 +251,6 @@ class BaseSoledadTest(unittest.TestCase, MockedSharedDBTest):
reactor.addSystemEventTrigger(
"after", "shutdown", _delete_temporary_dirs)
-
def _soledad_instance(self, user=ADDRESS, passphrase=u'123',
prefix='',
secrets_path='secrets.json',
@@ -306,9 +305,9 @@ class BaseSoledadTest(unittest.TestCase, MockedSharedDBTest):
self.assertEqual(exp_doc.content, doc.content)
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# A wrapper for running couchdb locally.
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# from: https://github.com/smcq/paisley/blob/master/paisley/test/util.py
# TODO: include license of above project.
@@ -427,7 +426,7 @@ class CouchDBTestCase(unittest.TestCase, MockedSharedDBTest):
"""
self.wrapper = CouchDBWrapper()
self.wrapper.start()
- #self.db = self.wrapper.db
+ # self.db = self.wrapper.db
def tearDown(self):
"""
@@ -435,6 +434,7 @@ class CouchDBTestCase(unittest.TestCase, MockedSharedDBTest):
"""
self.wrapper.stop()
+
class CouchServerStateForTests(CouchServerState):
"""
This is a slightly modified CouchDB server state that allows for creating