summaryrefslogtreecommitdiff
path: root/soledad/tests/test_encrypted.py
diff options
context:
space:
mode:
Diffstat (limited to 'soledad/tests/test_encrypted.py')
-rw-r--r--soledad/tests/test_encrypted.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/soledad/tests/test_encrypted.py b/soledad/tests/test_encrypted.py
new file mode 100644
index 00000000..4a48266e
--- /dev/null
+++ b/soledad/tests/test_encrypted.py
@@ -0,0 +1,39 @@
+from leap.soledad.backends.leap_backend import LeapDocument
+from leap.soledad.tests import BaseSoledadTest
+from leap.soledad.tests import KEY_FINGERPRINT
+
+try:
+ import simplejson as json
+except ImportError:
+ import json # noqa
+
+
+class EncryptedSyncTestCase(BaseSoledadTest):
+ """
+ Tests that guarantee that data will always be encrypted when syncing.
+ """
+
+ def test_get_set_encrypted_json(self):
+ """
+ Test getting and setting encrypted content.
+ """
+ doc1 = LeapDocument(soledad=self._soledad)
+ doc1.content = {'key': 'val'}
+ doc2 = LeapDocument(doc_id=doc1.doc_id,
+ encrypted_json=doc1.get_encrypted_json(),
+ soledad=self._soledad)
+ res1 = doc1.get_json()
+ res2 = doc2.get_json()
+ self.assertEqual(res1, res2, 'incorrect document encryption')
+
+ def test_successful_symmetric_encryption(self):
+ """
+ Test for successful symmetric encryption.
+ """
+ doc1 = LeapDocument(soledad=self._soledad)
+ doc1.content = {'key': 'val'}
+ enc_json = json.loads(doc1.get_encrypted_json())['_encrypted_json']
+ self.assertEqual(
+ True,
+ self._soledad._gpg.is_encrypted_sym(enc_json),
+ "could not encrypt with passphrase.")