diff options
| -rw-r--r-- | src/leap/soledad/__init__.py | 2 | ||||
| -rw-r--r-- | src/leap/soledad/shared_db.py | 25 | ||||
| -rw-r--r-- | src/leap/soledad/tests/test_soledad.py | 17 | 
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( | 
