summaryrefslogtreecommitdiff
path: root/mail/src/leap/mail/adaptors/soledad.py
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2015-01-06 02:19:02 -0400
committerKali Kaneko <kali@leap.se>2015-02-11 14:05:43 -0400
commitf279c5b6761d2def3fb81b64fb1e6b34803e3c47 (patch)
tree43cfe0d65fa6902ce4879a6b41436b26ca69f18e /mail/src/leap/mail/adaptors/soledad.py
parent0a0bb9a488439cab27b9c105fbc187021b9ceebc (diff)
tests for mail.mail module: Account
Diffstat (limited to 'mail/src/leap/mail/adaptors/soledad.py')
-rw-r--r--mail/src/leap/mail/adaptors/soledad.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/mail/src/leap/mail/adaptors/soledad.py b/mail/src/leap/mail/adaptors/soledad.py
index 522d2d32..389307fb 100644
--- a/mail/src/leap/mail/adaptors/soledad.py
+++ b/mail/src/leap/mail/adaptors/soledad.py
@@ -625,14 +625,11 @@ class SoledadIndexMixin(object):
leap_assert(store, "Need a store")
leap_assert_type(self.indexes, dict)
- self._index_creation_deferreds = []
- def _on_indexes_created(ignored):
- self.store_ready = True
+ self._index_creation_deferreds = []
def _create_index(name, expression):
- d = store.create_index(name, *expression)
- self._index_creation_deferreds.append(d)
+ return store.create_index(name, *expression)
def _create_indexes(db_indexes):
db_indexes = dict(db_indexes)
@@ -640,7 +637,8 @@ class SoledadIndexMixin(object):
for name, expression in self.indexes.items():
if name not in db_indexes:
# The index does not yet exist.
- _create_index(name, expression)
+ d = _create_index(name, expression)
+ self._index_creation_deferreds.append(d)
continue
if expression == db_indexes[name]:
@@ -650,11 +648,16 @@ class SoledadIndexMixin(object):
# we delete it and add the proper index expression.
d1 = store.delete_index(name)
d1.addCallback(lambda _: _create_index(name, expression))
+ self._index_creation_deferreds.append(d1)
- all_created = defer.gatherResults(self._index_creation_deferreds)
+ all_created = defer.gatherResults(
+ self._index_creation_deferreds, consumeErrors=True)
all_created.addCallback(_on_indexes_created)
return all_created
+ def _on_indexes_created(ignored):
+ self.store_ready = True
+
# Ask the database for currently existing indexes, and create them
# if not found.
d = store.list_indexes()
@@ -832,9 +835,11 @@ class SoledadMailAdaptor(SoledadIndexMixin):
have been updated.
:rtype: defer.Deferred
"""
+ leap_assert_type(mbox_wrapper, SoledadDocumentWrapper)
return mbox_wrapper.update(store)
def delete_mbox(self, store, mbox_wrapper):
+ leap_assert_type(mbox_wrapper, SoledadDocumentWrapper)
return mbox_wrapper.delete(store)
def get_all_mboxes(self, store):