summaryrefslogtreecommitdiff
path: root/soledad/src/leap/soledad/tests/test_soledad.py
diff options
context:
space:
mode:
Diffstat (limited to 'soledad/src/leap/soledad/tests/test_soledad.py')
-rw-r--r--soledad/src/leap/soledad/tests/test_soledad.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/soledad/src/leap/soledad/tests/test_soledad.py b/soledad/src/leap/soledad/tests/test_soledad.py
index 281b7a0f..875ecc56 100644
--- a/soledad/src/leap/soledad/tests/test_soledad.py
+++ b/soledad/src/leap/soledad/tests/test_soledad.py
@@ -28,6 +28,7 @@ import simplejson as json
from mock import Mock
+from pysqlcipher.dbapi2 import DatabaseError
from leap.common.testing.basetest import BaseLeapTest
from leap.common.events import events_pb2 as proto
from leap.soledad.tests import (
@@ -106,6 +107,39 @@ class AuxMethodsTestCase(BaseSoledadTest):
sol.local_db_path)
self.assertEqual('value_1', sol.server_url)
+ def test_change_passphrase(self):
+ """
+ Test if passphrase can be changed.
+ """
+ sol = self._soledad_instance(
+ 'leap@leap.se',
+ passphrase='123')
+ doc = sol.create_doc({'simple': 'doc'})
+ doc_id = doc.doc_id
+ # change the passphrase
+ sol.change_passphrase('654321')
+ # assert we can not use the old passphrase anymore
+ self.assertRaises(
+ DatabaseError,
+ self._soledad_instance, 'leap@leap.se', '123')
+ # use new passphrase and retrieve doc
+ sol2 = self._soledad_instance('leap@leap.se', '654321')
+ doc2 = sol2.get_doc(doc_id)
+ self.assertEqual(doc, doc2)
+
+ def test_change_passphrase_with_short_passphrase_raises(self):
+ """
+ Test if attempt to change passphrase passing a short passphrase
+ raises.
+ """
+ sol = self._soledad_instance(
+ 'leap@leap.se',
+ passphrase='123')
+ # check that soledad complains about new passphrase length
+ self.assertRaises(
+ soledad.PassphraseTooShort,
+ sol.change_passphrase, '54321')
+
class SoledadSharedDBTestCase(BaseSoledadTest):
"""