summaryrefslogtreecommitdiff
path: root/src/leap/soledad
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/soledad')
-rw-r--r--src/leap/soledad/__init__.py2
-rw-r--r--src/leap/soledad/shared_db.py25
-rw-r--r--src/leap/soledad/tests/test_soledad.py17
3 files changed, 16 insertions, 28 deletions
diff --git a/src/leap/soledad/__init__.py b/src/leap/soledad/__init__.py
index 9e920d68..7ffb6837 100644
--- a/src/leap/soledad/__init__.py
+++ b/src/leap/soledad/__init__.py
@@ -422,7 +422,7 @@ class Soledad(object):
"""
events.signal(
events.events_pb2.SOLEDAD_DOWNLOADING_KEYS, self._uuid)
- doc = self._shared_db().get_doc_unauth(self._uuid_hash())
+ doc = self._shared_db().get_doc(self._uuid_hash())
events.signal(
events.events_pb2.SOLEDAD_DONE_DOWNLOADING_KEYS, self._uuid)
return doc
diff --git a/src/leap/soledad/shared_db.py b/src/leap/soledad/shared_db.py
index dbb78d97..02ff8667 100644
--- a/src/leap/soledad/shared_db.py
+++ b/src/leap/soledad/shared_db.py
@@ -54,12 +54,8 @@ class Unauthorized(Exception):
class SoledadSharedDatabase(http_database.HTTPDatabase):
"""
- This is a shared remote database that holds users' encrypted keys.
-
- An authorization token is attached to every request other than
- get_doc_unauth, which has the purpose of retrieving encrypted content from
- the shared database without the need to associate user information with
- the request.
+ This is a shared recovery database that enables users to store their
+ encryption secrets in the server and retrieve them afterwards.
"""
# TODO: prevent client from messing with the shared DB.
# TODO: define and document API.
@@ -124,20 +120,3 @@ class SoledadSharedDatabase(http_database.HTTPDatabase):
"""
http_database.HTTPDatabase.__init__(self, url, document_factory,
creds)
-
- def get_doc_unauth(self, doc_id):
- """
- Modified method to allow for unauth request.
-
- This is the only (public) way to make an unauthenticaded request on
- the shared database.
-
- @param doc_id: The document id.
- @type doc_id: str
-
- @return: The requested document.
- @rtype: Document
- """
- db = http_database.HTTPDatabase(self._url.geturl(),
- document_factory=self._factory)
- return db.get_doc(doc_id)
diff --git a/src/leap/soledad/tests/test_soledad.py b/src/leap/soledad/tests/test_soledad.py
index d096989e..7c941066 100644
--- a/src/leap/soledad/tests/test_soledad.py
+++ b/src/leap/soledad/tests/test_soledad.py
@@ -105,11 +105,20 @@ class SoledadSharedDBTestCase(BaseSoledadTest):
"""
Ensure the shared db is queried with the correct doc_id.
"""
- self._soledad._shared_db = Mock()
+
+ class MockSharedDB(object):
+
+ get_doc = Mock(return_value=None)
+
+ def __call__(self):
+ return self
+
+ self._soledad._shared_db = MockSharedDB()
doc_id = self._soledad._uuid_hash()
self._soledad._fetch_keys_from_shared_db()
self.assertTrue(
- self._soledad._shared_db.get_doc_unauth.assert_called_once(doc_id),
+ self._soledad._shared_db().get_doc.assert_called_once_with(
+ doc_id) is None,
'Wrong doc_id when fetching recovery document.')
def test__assert_keys_in_shared_db(self):
@@ -122,7 +131,7 @@ class SoledadSharedDBTestCase(BaseSoledadTest):
class MockSharedDB(object):
- get_doc_unauth = Mock(return_value=None)
+ get_doc = Mock(return_value=None)
put_doc = Mock(side_effect=_put_doc_side_effect)
def __call__(self):
@@ -132,7 +141,7 @@ class SoledadSharedDBTestCase(BaseSoledadTest):
doc_id = self._soledad._uuid_hash()
self._soledad._assert_keys_in_shared_db()
self.assertTrue(
- self._soledad._shared_db().get_doc_unauth.assert_called_once_with(
+ self._soledad._shared_db().get_doc.assert_called_once_with(
doc_id) is None,
'Wrong doc_id when fetching recovery document.')
self.assertTrue(