summaryrefslogtreecommitdiff
path: root/tests/u1db_tests/test_backends.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/u1db_tests/test_backends.py')
-rw-r--r--tests/u1db_tests/test_backends.py99
1 files changed, 55 insertions, 44 deletions
diff --git a/tests/u1db_tests/test_backends.py b/tests/u1db_tests/test_backends.py
index c93589ea..81150994 100644
--- a/tests/u1db_tests/test_backends.py
+++ b/tests/u1db_tests/test_backends.py
@@ -24,7 +24,7 @@ from u1db import (
DocumentBase,
errors,
vectorclock,
- )
+)
from leap.soledad.tests import u1db_tests as tests
@@ -38,12 +38,7 @@ from leap.soledad.tests.u1db_tests.test_remote_sync_target import (
from u1db.remote import (
http_database,
- )
-
-try:
- from u1db.tests import c_backend_wrapper
-except ImportError:
- c_backend_wrapper = None # noqa
+)
def make_http_database_for_test(test, replica_uid, path='test'):
@@ -97,7 +92,7 @@ class AllDatabaseTests(tests.DatabaseBaseTests, tests.TestCaseWithServer):
copy_oauth_http_database_for_test,
'make_document_for_test': tests.make_document_for_test,
'make_app_with_state': make_oauth_http_app})
- ] #+ tests.C_DATABASE_SCENARIOS
+ ]
def test_close(self):
self.db.close()
@@ -320,7 +315,7 @@ class AllDatabaseTests(tests.DatabaseBaseTests, tests.TestCaseWithServer):
cur_vc = vectorclock.VectorClockRev(old_rev)
deleted_vc = vectorclock.VectorClockRev(doc.rev)
self.assertTrue(deleted_vc.is_newer(cur_vc),
- "%s does not supersede %s" % (doc.rev, old_rev))
+ "%s does not supersede %s" % (doc.rev, old_rev))
def test_delete_then_put(self):
doc = self.db.create_doc_from_json(simple_doc)
@@ -334,7 +329,7 @@ class AllDatabaseTests(tests.DatabaseBaseTests, tests.TestCaseWithServer):
class DocumentSizeTests(tests.DatabaseBaseTests):
- scenarios = tests.LOCAL_DATABASES_SCENARIOS #+ tests.C_DATABASE_SCENARIOS
+ scenarios = tests.LOCAL_DATABASES_SCENARIOS
def test_put_doc_refuses_oversized_documents(self):
self.db.set_document_size_limit(1)
@@ -358,7 +353,7 @@ class DocumentSizeTests(tests.DatabaseBaseTests):
class LocalDatabaseTests(tests.DatabaseBaseTests):
- scenarios = tests.LOCAL_DATABASES_SCENARIOS #+ tests.C_DATABASE_SCENARIOS
+ scenarios = tests.LOCAL_DATABASES_SCENARIOS
def test_create_doc_different_ids_diff_db(self):
doc1 = self.db.create_doc_from_json(simple_doc)
@@ -517,17 +512,23 @@ class LocalDatabaseTests(tests.DatabaseBaseTests):
doc2 = self.make_document(doc1.doc_id, doc1.rev + '|other:1',
nested_doc)
self.assertEqual('inserted',
- self.db._put_doc_if_newer(doc2, save_conflict=False,
- replica_uid='other', replica_gen=2,
- replica_trans_id='T-id2')[0])
+ self.db._put_doc_if_newer(
+ doc2,
+ save_conflict=False,
+ replica_uid='other',
+ replica_gen=2,
+ replica_trans_id='T-id2')[0])
self.assertEqual((2, 'T-id2'), self.db._get_replica_gen_and_trans_id(
'other'))
# Compare to the old rev, should be superseded
doc2 = self.make_document(doc1.doc_id, doc1.rev, nested_doc)
self.assertEqual('superseded',
- self.db._put_doc_if_newer(doc2, save_conflict=False,
- replica_uid='other', replica_gen=3,
- replica_trans_id='T-id3')[0])
+ self.db._put_doc_if_newer(
+ doc2,
+ save_conflict=False,
+ replica_uid='other',
+ replica_gen=3,
+ replica_trans_id='T-id3')[0])
self.assertEqual(
(3, 'T-id3'), self.db._get_replica_gen_and_trans_id('other'))
# A conflict that isn't saved still records the sync gen, because we
@@ -535,9 +536,12 @@ class LocalDatabaseTests(tests.DatabaseBaseTests):
doc2 = self.make_document(doc1.doc_id, doc1.rev + '|fourth:1',
'{}')
self.assertEqual('conflicted',
- self.db._put_doc_if_newer(doc2, save_conflict=False,
- replica_uid='other', replica_gen=4,
- replica_trans_id='T-id4')[0])
+ self.db._put_doc_if_newer(
+ doc2,
+ save_conflict=False,
+ replica_uid='other',
+ replica_gen=4,
+ replica_trans_id='T-id4')[0])
self.assertEqual(
(4, 'T-id4'), self.db._get_replica_gen_and_trans_id('other'))
@@ -603,7 +607,7 @@ class LocalDatabaseTests(tests.DatabaseBaseTests):
class LocalDatabaseValidateGenNTransIdTests(tests.DatabaseBaseTests):
- scenarios = tests.LOCAL_DATABASES_SCENARIOS #+ tests.C_DATABASE_SCENARIOS
+ scenarios = tests.LOCAL_DATABASES_SCENARIOS
def test_validate_gen_and_trans_id(self):
self.db.create_doc_from_json(simple_doc)
@@ -627,7 +631,7 @@ class LocalDatabaseValidateGenNTransIdTests(tests.DatabaseBaseTests):
class LocalDatabaseValidateSourceGenTests(tests.DatabaseBaseTests):
- scenarios = tests.LOCAL_DATABASES_SCENARIOS #+ tests.C_DATABASE_SCENARIOS
+ scenarios = tests.LOCAL_DATABASES_SCENARIOS
def test_validate_source_gen_and_trans_id_same(self):
self.db._set_replica_gen_and_trans_id('other', 1, 'T-sid')
@@ -647,7 +651,7 @@ class LocalDatabaseValidateSourceGenTests(tests.DatabaseBaseTests):
class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
# test supporting/functionality around storing conflicts
- scenarios = tests.LOCAL_DATABASES_SCENARIOS #+ tests.C_DATABASE_SCENARIOS
+ scenarios = tests.LOCAL_DATABASES_SCENARIOS
def test_get_docs_conflicted(self):
doc1 = self.db.create_doc_from_json(simple_doc)
@@ -668,7 +672,7 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
nested_doc)
self.assertEqual([no_conflict_doc, doc2],
list(self.db.get_docs([doc1.doc_id, doc2.doc_id],
- check_for_conflicts=False)))
+ check_for_conflicts=False)))
def test_get_doc_conflicts(self):
doc = self.db.create_doc_from_json(simple_doc)
@@ -702,7 +706,8 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
alt_doc, save_conflict=True, replica_uid='r', replica_gen=1,
replica_trans_id='foo')
self.assertGetDocConflicts(self.db, doc.doc_id,
- [('alternate:1', nested_doc), (doc.rev, simple_doc)])
+ [('alternate:1', nested_doc),
+ (doc.rev, simple_doc)])
orig_rev = doc.rev
self.db.resolve_doc(doc, [alt_doc.rev, doc.rev])
self.assertNotEqual(orig_rev, doc.rev)
@@ -746,15 +751,15 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
doc3, save_conflict=True, replica_uid='r', replica_gen=2,
replica_trans_id='bar')
self.assertGetDocConflicts(self.db, doc1.doc_id,
- [(doc3.rev, content3),
- (doc1.rev, simple_doc),
- (doc2.rev, nested_doc)])
+ [(doc3.rev, content3),
+ (doc1.rev, simple_doc),
+ (doc2.rev, nested_doc)])
self.db.resolve_doc(doc1, [doc2.rev, doc1.rev])
self.assertTrue(doc1.has_conflicts)
self.assertGetDoc(self.db, doc1.doc_id, doc3.rev, content3, True)
self.assertGetDocConflicts(self.db, doc1.doc_id,
- [(doc3.rev, content3),
- (doc1.rev, simple_doc)])
+ [(doc3.rev, content3),
+ (doc1.rev, simple_doc)])
def test_resolve_doc_partial_winning(self):
doc1 = self.db.create_doc_from_json(simple_doc)
@@ -832,9 +837,9 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
doc22, save_conflict=True, replica_uid='r', replica_gen=3,
replica_trans_id='zed')
self.assertGetDocConflicts(self.db, doc1.doc_id,
- [('alternate:2', doc22.get_json()),
- ('altalt:1', doc3.get_json()),
- (doc1.rev, simple_doc)])
+ [('alternate:2', doc22.get_json()),
+ ('altalt:1', doc3.get_json()),
+ (doc1.rev, simple_doc)])
def test_put_doc_if_newer_save_conflict_was_deleted(self):
doc1 = self.db.create_doc_from_json(simple_doc)
@@ -847,7 +852,8 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
self.assertGetDoc(
self.db, doc1.doc_id, 'alternate:1', nested_doc, True)
self.assertGetDocConflicts(self.db, doc1.doc_id,
- [('alternate:1', nested_doc), (doc1.rev, None)])
+ [('alternate:1', nested_doc),
+ (doc1.rev, None)])
def test_put_doc_if_newer_propagates_full_resolution(self):
doc1 = self.db.create_doc_from_json(simple_doc)
@@ -860,7 +866,7 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
resolved_vcr.maximize(vcr_2)
resolved_vcr.increment('alternate')
doc_resolved = self.make_document(doc1.doc_id, resolved_vcr.as_str(),
- '{"good": 1}')
+ '{"good": 1}')
state, _ = self.db._put_doc_if_newer(
doc_resolved, save_conflict=True, replica_uid='r', replica_gen=2,
replica_trans_id='foo2')
@@ -881,8 +887,9 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
doc3, save_conflict=True, replica_uid='r', replica_gen=2,
replica_trans_id='foo2')
self.assertGetDocConflicts(self.db, doc1.doc_id,
- [('alternate:1', nested_doc), ('test:1', simple_doc),
- ('altalt:1', '{}')])
+ [('alternate:1', nested_doc),
+ ('test:1', simple_doc),
+ ('altalt:1', '{}')])
resolved_vcr = vectorclock.VectorClockRev(doc1.rev)
vcr_3 = vectorclock.VectorClockRev(doc3.rev)
resolved_vcr.maximize(vcr_3)
@@ -897,7 +904,8 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
doc4 = self.db.get_doc(doc1.doc_id)
self.assertTrue(doc4.has_conflicts)
self.assertGetDocConflicts(self.db, doc1.doc_id,
- [('alternate:2|test:1', '{"good": 1}'), ('altalt:1', '{}')])
+ [('alternate:2|test:1', '{"good": 1}'),
+ ('altalt:1', '{}')])
def test_put_doc_if_newer_replica_uid(self):
doc1 = self.db.create_doc_from_json(simple_doc)
@@ -911,9 +919,12 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
doc2 = self.make_document(doc1.doc_id, doc1.rev + '|third:3',
'{}')
self.assertEqual('conflicted',
- self.db._put_doc_if_newer(doc2, save_conflict=True,
- replica_uid='other', replica_gen=3,
- replica_trans_id='T-id3')[0])
+ self.db._put_doc_if_newer(
+ doc2,
+ save_conflict=True,
+ replica_uid='other',
+ replica_gen=3,
+ replica_trans_id='T-id3')[0])
self.assertEqual(
(3, 'T-id3'), self.db._get_replica_gen_and_trans_id('other'))
@@ -962,7 +973,7 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
rev_a3 = vectorclock.VectorClockRev('test:3')
rev_a1b1 = vectorclock.VectorClockRev('test:1|other:1')
self.assertTrue(rev.is_newer(rev_a3))
- self.assertTrue('test:4' in doc.rev) # locally increased
+ self.assertTrue('test:4' in doc.rev) # locally increased
self.assertTrue(rev.is_newer(rev_a1b1))
def test_put_doc_if_newer_autoresolve_4(self):
@@ -988,7 +999,7 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
rev_a3 = vectorclock.VectorClockRev('test:3')
rev_a1b1 = vectorclock.VectorClockRev('test:1|other:1')
self.assertTrue(rev.is_newer(rev_a3))
- self.assertTrue('test:4' in doc.rev) # locally increased
+ self.assertTrue('test:4' in doc.rev) # locally increased
self.assertTrue(rev.is_newer(rev_a1b1))
def test_put_refuses_to_update_conflicted(self):
@@ -1015,7 +1026,7 @@ class LocalDatabaseWithConflictsTests(tests.DatabaseBaseTests):
class DatabaseIndexTests(tests.DatabaseBaseTests):
- scenarios = tests.LOCAL_DATABASES_SCENARIOS #+ tests.C_DATABASE_SCENARIOS
+ scenarios = tests.LOCAL_DATABASES_SCENARIOS
def assertParseError(self, definition):
self.db.create_doc_from_json(nested_doc)