From 3a896645a704c0e899e945f281018b82fd6c2d78 Mon Sep 17 00:00:00 2001 From: drebs Date: Thu, 24 Jan 2013 19:08:54 -0200 Subject: CouchDatabase refactoring and indexing. CouchDatabase now inherits from u1db InMemoryDatabase, so it can use all available facilities. The important thing is to make sure every modification of logs or indexes gets propagated to the ObjectStore backend. --- src/leap/soledad/tests/test_couch.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/leap/soledad/tests/test_couch.py') diff --git a/src/leap/soledad/tests/test_couch.py b/src/leap/soledad/tests/test_couch.py index 5e8d6126..9e2f3909 100644 --- a/src/leap/soledad/tests/test_couch.py +++ b/src/leap/soledad/tests/test_couch.py @@ -46,9 +46,10 @@ def copy_couch_database_for_test(test, db): gen, docs = db.get_all_docs(include_deleted=True) for doc in docs: new_db._put_doc(doc) - new_db._transaction_log._data = copy.deepcopy(db._transaction_log._data) - new_db._sync_log._data = copy.deepcopy(db._sync_log._data) - new_db._conflict_log._data = copy.deepcopy(db._conflict_log._data) + new_db._transaction_log = copy.deepcopy(db._transaction_log) + new_db._conflicts = copy.deepcopy(db._conflicts) + new_db._other_generations = copy.deepcopy(db._other_generations) + new_db._indexes = copy.deepcopy(db._indexes) new_db._set_u1db_data() return new_db @@ -112,13 +113,13 @@ class CouchWithConflictsTests( # the server, so indexing makes no sense. Thus, we ignore index testing for # now. -# class CouchIndexTests(DatabaseIndexTests): -# -# scenarios = COUCH_SCENARIOS -# -# def tearDown(self): -# self.db.delete_database() -# super(CouchIndexTests, self).tearDown() +class CouchIndexTests(test_backends.DatabaseIndexTests): + + scenarios = COUCH_SCENARIOS + + def tearDown(self): + self.db.delete_database() + super(CouchIndexTests, self).tearDown() #----------------------------------------------------------------------------- -- cgit v1.2.3 From d6a235e90e93b51d46402ed85645842af222bc84 Mon Sep 17 00:00:00 2001 From: drebs Date: Thu, 24 Jan 2013 19:29:43 -0200 Subject: Couch backend passes all tests in u1db test_sync. --- src/leap/soledad/tests/test_couch.py | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'src/leap/soledad/tests/test_couch.py') diff --git a/src/leap/soledad/tests/test_couch.py b/src/leap/soledad/tests/test_couch.py index 9e2f3909..6c3d7daf 100644 --- a/src/leap/soledad/tests/test_couch.py +++ b/src/leap/soledad/tests/test_couch.py @@ -197,23 +197,5 @@ class CouchDatabaseSyncTests(test_sync.DatabaseSyncTests): db.delete_database() super(CouchDatabaseSyncTests, self).tearDown() - # The following tests use indexing, so we eliminate them for now because - # indexing is still not implemented in couch backend. - - def test_sync_pulls_changes(self): - pass - - def test_sync_sees_remote_conflicted(self): - pass - - def test_sync_sees_remote_delete_conflicted(self): - pass - - def test_sync_local_race_conflicted(self): - pass - - def test_sync_propagates_deletes(self): - pass - load_tests = tests.load_with_scenarios -- cgit v1.2.3