summaryrefslogtreecommitdiff
path: root/common/src/leap/soledad
diff options
context:
space:
mode:
authorBruno Wagner <bwgpro@gmail.com>2015-08-12 18:56:38 -0300
committerBruno Wagner <bwgpro@gmail.com>2015-08-12 19:03:50 -0300
commitffde23f71594cec5775a1579cdc0ee4b019fbf6d (patch)
tree02be041313b1462e1b43bc9ecd1ec70f1d205b1d /common/src/leap/soledad
parent861f7d355f2b42b02d00906cbb63351cbc5d0146 (diff)
[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
Diffstat (limited to 'common/src/leap/soledad')
-rw-r--r--common/src/leap/soledad/common/errors.py5
-rw-r--r--common/src/leap/soledad/common/tests/test_soledad.py12
2 files changed, 11 insertions, 6 deletions
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(