summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Alejandro <ivanalejandro0@gmail.com>2015-05-06 17:42:26 -0300
committerIvan Alejandro <ivanalejandro0@gmail.com>2015-05-27 12:02:39 -0300
commit7d4ab674a167d48686f61310ff4ff6a62a545e67 (patch)
treed8ed270d0a73c50eb65f392f231c5c3107473058
parent91674a40edb19cd241c76b27ad998bb5df404570 (diff)
[feat] adapt to new events api on common
- Related: #6359
-rw-r--r--client/changes/VERSION_COMPAT2
-rw-r--r--client/changes/feature_adapt-to-new-events-on-common1
-rw-r--r--client/src/leap/soledad/client/api.py2
-rw-r--r--client/src/leap/soledad/client/events.py29
-rw-r--r--client/src/leap/soledad/client/http_target.py6
-rw-r--r--client/src/leap/soledad/client/secrets.py12
-rw-r--r--common/changes/VERSION_COMPAT10
-rw-r--r--common/changes/feature_adapt-to-new-events-on-common1
-rw-r--r--common/src/leap/soledad/common/tests/test_soledad.py82
9 files changed, 79 insertions, 66 deletions
diff --git a/client/changes/VERSION_COMPAT b/client/changes/VERSION_COMPAT
index 782844d7..c0747052 100644
--- a/client/changes/VERSION_COMPAT
+++ b/client/changes/VERSION_COMPAT
@@ -9,3 +9,5 @@
# BEGIN DEPENDENCY LIST -------------------------
# leap.foo.bar>=x.y.z
pysqlcipher>2.6.3
+leap.common>=0.4
+leap.soledad.common>=0.6.5
diff --git a/client/changes/feature_adapt-to-new-events-on-common b/client/changes/feature_adapt-to-new-events-on-common
new file mode 100644
index 00000000..cd55fa7d
--- /dev/null
+++ b/client/changes/feature_adapt-to-new-events-on-common
@@ -0,0 +1 @@
+- Adapt soledad to the new events api on leap.common. Related to #6359.
diff --git a/client/src/leap/soledad/client/api.py b/client/src/leap/soledad/client/api.py
index 91e0a4a0..76d6acc3 100644
--- a/client/src/leap/soledad/client/api.py
+++ b/client/src/leap/soledad/client/api.py
@@ -656,7 +656,7 @@ class Soledad(object):
defer_decryption=defer_decryption)
def _sync_callback(local_gen):
- soledad_events.signal(
+ soledad_events.emit(
soledad_events.SOLEDAD_DONE_DATA_SYNC, self.uuid)
return local_gen
diff --git a/client/src/leap/soledad/client/events.py b/client/src/leap/soledad/client/events.py
index 88e28674..b1379521 100644
--- a/client/src/leap/soledad/client/events.py
+++ b/client/src/leap/soledad/client/events.py
@@ -20,28 +20,27 @@
Signaling functions.
"""
+from leap.common.events import emit
+from leap.common.events import catalog
-from leap.common import events
-from leap.common.events import signal
-
-SOLEDAD_CREATING_KEYS = events.proto.SOLEDAD_CREATING_KEYS
-SOLEDAD_DONE_CREATING_KEYS = events.proto.SOLEDAD_DONE_CREATING_KEYS
-SOLEDAD_DOWNLOADING_KEYS = events.proto.SOLEDAD_DOWNLOADING_KEYS
+SOLEDAD_CREATING_KEYS = catalog.SOLEDAD_CREATING_KEYS
+SOLEDAD_DONE_CREATING_KEYS = catalog.SOLEDAD_DONE_CREATING_KEYS
+SOLEDAD_DOWNLOADING_KEYS = catalog.SOLEDAD_DOWNLOADING_KEYS
SOLEDAD_DONE_DOWNLOADING_KEYS = \
- events.proto.SOLEDAD_DONE_DOWNLOADING_KEYS
-SOLEDAD_UPLOADING_KEYS = events.proto.SOLEDAD_UPLOADING_KEYS
+ catalog.SOLEDAD_DONE_DOWNLOADING_KEYS
+SOLEDAD_UPLOADING_KEYS = catalog.SOLEDAD_UPLOADING_KEYS
SOLEDAD_DONE_UPLOADING_KEYS = \
- events.proto.SOLEDAD_DONE_UPLOADING_KEYS
-SOLEDAD_NEW_DATA_TO_SYNC = events.proto.SOLEDAD_NEW_DATA_TO_SYNC
-SOLEDAD_DONE_DATA_SYNC = events.proto.SOLEDAD_DONE_DATA_SYNC
-SOLEDAD_SYNC_SEND_STATUS = events.proto.SOLEDAD_SYNC_SEND_STATUS
-SOLEDAD_SYNC_RECEIVE_STATUS = events.proto.SOLEDAD_SYNC_RECEIVE_STATUS
+ catalog.SOLEDAD_DONE_UPLOADING_KEYS
+SOLEDAD_NEW_DATA_TO_SYNC = catalog.SOLEDAD_NEW_DATA_TO_SYNC
+SOLEDAD_DONE_DATA_SYNC = catalog.SOLEDAD_DONE_DATA_SYNC
+SOLEDAD_SYNC_SEND_STATUS = catalog.SOLEDAD_SYNC_SEND_STATUS
+SOLEDAD_SYNC_RECEIVE_STATUS = catalog.SOLEDAD_SYNC_RECEIVE_STATUS
__all__ = [
- "events",
- "signal",
+ "catalog",
+ "emit",
"SOLEDAD_CREATING_KEYS",
"SOLEDAD_DONE_CREATING_KEYS",
"SOLEDAD_DOWNLOADING_KEYS",
diff --git a/client/src/leap/soledad/client/http_target.py b/client/src/leap/soledad/client/http_target.py
index 5eef2df3..30590ae1 100644
--- a/client/src/leap/soledad/client/http_target.py
+++ b/client/src/leap/soledad/client/http_target.py
@@ -47,7 +47,7 @@ from leap.soledad.client.crypto import encrypt_doc
from leap.soledad.client.crypto import decrypt_doc
from leap.soledad.client.events import SOLEDAD_SYNC_SEND_STATUS
from leap.soledad.client.events import SOLEDAD_SYNC_RECEIVE_STATUS
-from leap.soledad.client.events import signal
+from leap.soledad.client.events import emit
from leap.soledad.client.encdecpool import SyncDecrypterPool
@@ -311,7 +311,7 @@ class SoledadHTTPSyncTarget(SyncTarget):
if self._defer_encryption:
self._sync_enc_pool.delete_encrypted_doc(
doc.doc_id, doc.rev)
- signal(SOLEDAD_SYNC_SEND_STATUS,
+ emit(SOLEDAD_SYNC_SEND_STATUS,
"Soledad sync send status: %d/%d"
% (idx, total))
response_dict = json.loads(result)[0]
@@ -535,7 +535,7 @@ class SoledadHTTPSyncTarget(SyncTarget):
# end of symmetric decryption
# -------------------------------------------------------------
msg = "%d/%d" % (idx, total)
- signal(SOLEDAD_SYNC_RECEIVE_STATUS, msg)
+ emit(SOLEDAD_SYNC_RECEIVE_STATUS, msg)
logger.debug("Soledad sync receive status: %s" % msg)
return number_of_changes, new_generation, new_transaction_id
diff --git a/client/src/leap/soledad/client/secrets.py b/client/src/leap/soledad/client/secrets.py
index 96f7e906..e89e21aa 100644
--- a/client/src/leap/soledad/client/secrets.py
+++ b/client/src/leap/soledad/client/secrets.py
@@ -480,13 +480,13 @@ class SoledadSecrets(object):
:return: a document with encrypted key material in its contents
:rtype: document.SoledadDocument
"""
- events.signal(events.SOLEDAD_DOWNLOADING_KEYS, self._uuid)
+ events.emit(events.SOLEDAD_DOWNLOADING_KEYS, self._uuid)
db = self._shared_db
if not db:
logger.warning('No shared db found')
return
doc = db.get_doc(self._shared_db_doc_id())
- events.signal(events.SOLEDAD_DONE_DOWNLOADING_KEYS, self._uuid)
+ events.emit(events.SOLEDAD_DONE_DOWNLOADING_KEYS, self._uuid)
return doc
def _put_secrets_in_shared_db(self):
@@ -509,13 +509,13 @@ class SoledadSecrets(object):
# fill doc with encrypted secrets
doc.content = self._export_recovery_document()
# upload secrets to server
- events.signal(events.SOLEDAD_UPLOADING_KEYS, self._uuid)
+ events.emit(events.SOLEDAD_UPLOADING_KEYS, self._uuid)
db = self._shared_db
if not db:
logger.warning('No shared db found')
return
db.put_doc(doc)
- events.signal(events.SOLEDAD_DONE_UPLOADING_KEYS, self._uuid)
+ events.emit(events.SOLEDAD_DONE_UPLOADING_KEYS, self._uuid)
#
# Management of secret for symmetric encryption.
@@ -635,13 +635,13 @@ class SoledadSecrets(object):
:return: The id of the generated secret.
:rtype: str
"""
- events.signal(events.SOLEDAD_CREATING_KEYS, self._uuid)
+ events.emit(events.SOLEDAD_CREATING_KEYS, self._uuid)
# generate random secret
secret = os.urandom(self.GEN_SECRET_LENGTH)
secret_id = sha256(secret).hexdigest()
self._secrets[secret_id] = secret
self._store_secrets()
- events.signal(events.SOLEDAD_DONE_CREATING_KEYS, self._uuid)
+ events.emit(events.SOLEDAD_DONE_CREATING_KEYS, self._uuid)
return secret_id
def _store_secrets(self):
diff --git a/common/changes/VERSION_COMPAT b/common/changes/VERSION_COMPAT
index e69de29b..cc00ecf7 100644
--- a/common/changes/VERSION_COMPAT
+++ b/common/changes/VERSION_COMPAT
@@ -0,0 +1,10 @@
+#################################################
+# This file keeps track of the recent changes
+# introduced in internal leap dependencies.
+# Add your changes here so we can properly update
+# requirements.pip during the release process.
+# (leave header when resetting)
+#################################################
+#
+# BEGIN DEPENDENCY LIST -------------------------
+# leap.foo.bar>=x.y.z
diff --git a/common/changes/feature_adapt-to-new-events-on-common b/common/changes/feature_adapt-to-new-events-on-common
new file mode 100644
index 00000000..cd55fa7d
--- /dev/null
+++ b/common/changes/feature_adapt-to-new-events-on-common
@@ -0,0 +1 @@
+- Adapt soledad to the new events api on leap.common. Related to #6359.
diff --git a/common/src/leap/soledad/common/tests/test_soledad.py b/common/src/leap/soledad/common/tests/test_soledad.py
index 0b49d9f5..1cd74dad 100644
--- a/common/src/leap/soledad/common/tests/test_soledad.py
+++ b/common/src/leap/soledad/common/tests/test_soledad.py
@@ -20,7 +20,7 @@ Tests for general Soledad functionality.
import os
from mock import Mock
-from leap.common.events import events_pb2 as proto
+from leap.common.events import catalog
from leap.soledad.common.tests.util import (
BaseSoledadTest,
ADDRESS,
@@ -218,7 +218,7 @@ class SoledadSignalingTestCase(BaseSoledadTest):
def setUp(self):
# mock signaling
soledad.client.signal = Mock()
- soledad.client.secrets.events.signal = Mock()
+ soledad.client.secrets.events.emit = Mock()
# run parent's setUp
BaseSoledadTest.setUp(self)
@@ -240,58 +240,58 @@ class SoledadSignalingTestCase(BaseSoledadTest):
- downloading keys / done downloading keys.
- uploading keys / done uploading keys.
"""
- soledad.client.secrets.events.signal.reset_mock()
+ soledad.client.secrets.events.emit.reset_mock()
# get a fresh instance so it emits all bootstrap signals
sol = self._soledad_instance(
secrets_path='alternative_stage3.json',
local_db_path='alternative_stage3.u1db')
# reverse call order so we can verify in the order the signals were
# expected
- soledad.client.secrets.events.signal.mock_calls.reverse()
- soledad.client.secrets.events.signal.call_args = \
- soledad.client.secrets.events.signal.call_args_list[0]
- soledad.client.secrets.events.signal.call_args_list.reverse()
+ soledad.client.secrets.events.emit.mock_calls.reverse()
+ soledad.client.secrets.events.emit.call_args = \
+ soledad.client.secrets.events.emit.call_args_list[0]
+ soledad.client.secrets.events.emit.call_args_list.reverse()
# downloading keys signals
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_DOWNLOADING_KEYS,
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_DOWNLOADING_KEYS,
ADDRESS,
)
- self._pop_mock_call(soledad.client.secrets.events.signal)
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_DONE_DOWNLOADING_KEYS,
+ self._pop_mock_call(soledad.client.secrets.events.emit)
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_DONE_DOWNLOADING_KEYS,
ADDRESS,
)
# creating keys signals
- self._pop_mock_call(soledad.client.secrets.events.signal)
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_CREATING_KEYS,
+ self._pop_mock_call(soledad.client.secrets.events.emit)
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_CREATING_KEYS,
ADDRESS,
)
- self._pop_mock_call(soledad.client.secrets.events.signal)
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_DONE_CREATING_KEYS,
+ self._pop_mock_call(soledad.client.secrets.events.emit)
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_DONE_CREATING_KEYS,
ADDRESS,
)
# downloading once more (inside _put_keys_in_shared_db)
- self._pop_mock_call(soledad.client.secrets.events.signal)
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_DOWNLOADING_KEYS,
+ self._pop_mock_call(soledad.client.secrets.events.emit)
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_DOWNLOADING_KEYS,
ADDRESS,
)
- self._pop_mock_call(soledad.client.secrets.events.signal)
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_DONE_DOWNLOADING_KEYS,
+ self._pop_mock_call(soledad.client.secrets.events.emit)
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_DONE_DOWNLOADING_KEYS,
ADDRESS,
)
# uploading keys signals
- self._pop_mock_call(soledad.client.secrets.events.signal)
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_UPLOADING_KEYS,
+ self._pop_mock_call(soledad.client.secrets.events.emit)
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_UPLOADING_KEYS,
ADDRESS,
)
- self._pop_mock_call(soledad.client.secrets.events.signal)
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_DONE_UPLOADING_KEYS,
+ self._pop_mock_call(soledad.client.secrets.events.emit)
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_DONE_UPLOADING_KEYS,
ADDRESS,
)
# assert db was locked and unlocked
@@ -311,7 +311,7 @@ class SoledadSignalingTestCase(BaseSoledadTest):
doc.content = sol.secrets._export_recovery_document()
sol.close()
# reset mock
- soledad.client.secrets.events.signal.reset_mock()
+ soledad.client.secrets.events.emit.reset_mock()
# get a fresh instance so it emits all bootstrap signals
shared_db = self.get_default_shared_mock(get_doc_return_value=doc)
sol = self._soledad_instance(
@@ -320,18 +320,18 @@ class SoledadSignalingTestCase(BaseSoledadTest):
shared_db_class=shared_db)
# reverse call order so we can verify in the order the signals were
# expected
- soledad.client.secrets.events.signal.mock_calls.reverse()
- soledad.client.secrets.events.signal.call_args = \
- soledad.client.secrets.events.signal.call_args_list[0]
- soledad.client.secrets.events.signal.call_args_list.reverse()
+ soledad.client.secrets.events.emit.mock_calls.reverse()
+ soledad.client.secrets.events.emit.call_args = \
+ soledad.client.secrets.events.emit.call_args_list[0]
+ soledad.client.secrets.events.emit.call_args_list.reverse()
# assert download keys signals
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_DOWNLOADING_KEYS,
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_DOWNLOADING_KEYS,
ADDRESS,
)
- self._pop_mock_call(soledad.client.secrets.events.signal)
- soledad.client.secrets.events.signal.assert_called_with(
- proto.SOLEDAD_DONE_DOWNLOADING_KEYS,
+ self._pop_mock_call(soledad.client.secrets.events.emit)
+ soledad.client.secrets.events.emit.assert_called_with(
+ catalog.SOLEDAD_DONE_DOWNLOADING_KEYS,
ADDRESS,
)
sol.close()
@@ -360,7 +360,7 @@ class SoledadSignalingTestCase(BaseSoledadTest):
def _assert_done_data_sync_signal_emitted(results):
# assert the signal has been emitted
soledad.client.signal.assert_called_with(
- proto.SOLEDAD_DONE_DATA_SYNC,
+ catalog.SOLEDAD_DONE_DATA_SYNC,
ADDRESS,
)
sol.close()