From ffde23f71594cec5775a1579cdc0ee4b019fbf6d Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Wed, 12 Aug 2015 18:56:38 -0300 Subject: [bug] wrong sqlcipher passphrase now raises correctly When you tried to start a local sqlcipher that was created before, with the wrong passphrase, the code was raising a sqlcipher DatabaseError, there were tests covering this but they were expecting a WrongMacError that was never raised. I added code to wrap the DatabaseError and raise a new exception DatabaseAccessError that is specific to soledad and adapted the tests to expect it --- common/src/leap/soledad/common/errors.py | 5 +++++ common/src/leap/soledad/common/tests/test_soledad.py | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'common/src/leap/soledad') diff --git a/common/src/leap/soledad/common/errors.py b/common/src/leap/soledad/common/errors.py index f285cc77..5798770b 100644 --- a/common/src/leap/soledad/common/errors.py +++ b/common/src/leap/soledad/common/errors.py @@ -51,6 +51,11 @@ class SoledadError(errors.U1DBError): # Authorization errors # + +class DatabaseAccessError(Exception): + pass + + @register_exception class InvalidAuthTokenError(errors.Unauthorized): diff --git a/common/src/leap/soledad/common/tests/test_soledad.py b/common/src/leap/soledad/common/tests/test_soledad.py index 1217b763..c8bcaba1 100644 --- a/common/src/leap/soledad/common/tests/test_soledad.py +++ b/common/src/leap/soledad/common/tests/test_soledad.py @@ -27,7 +27,7 @@ from leap.soledad.common.tests.util import ( ) from leap import soledad from leap.soledad.common.document import SoledadDocument -from leap.soledad.common.crypto import WrongMacError +from leap.soledad.common.errors import DatabaseAccessError from leap.soledad.client import Soledad from leap.soledad.client.adbapi import U1DBConnectionPool from leap.soledad.client.secrets import PassphraseTooShort @@ -114,11 +114,11 @@ class AuxMethodsTestCase(BaseSoledadTest): sol.close() def _assert_wrong_password_raises(results): - self.assertRaises( - WrongMacError, - self._soledad_instance, 'leap@leap.se', - passphrase=u'123', - prefix=prefix) + with self.assertRaises(DatabaseAccessError): + self._soledad_instance( + 'leap@leap.se', + passphrase=u'123', + prefix=prefix) def _instantiate_with_new_passphrase(results): sol2 = self._soledad_instance( -- cgit v1.2.3