diff options
Diffstat (limited to 'common/src/leap/soledad/common/tests/test_crypto.py')
-rw-r--r-- | common/src/leap/soledad/common/tests/test_crypto.py | 62 |
1 files changed, 33 insertions, 29 deletions
diff --git a/common/src/leap/soledad/common/tests/test_crypto.py b/common/src/leap/soledad/common/tests/test_crypto.py index 1071af14..ccff5e46 100644 --- a/common/src/leap/soledad/common/tests/test_crypto.py +++ b/common/src/leap/soledad/common/tests/test_crypto.py @@ -57,23 +57,23 @@ class EncryptedSyncTestCase(BaseSoledadTest): class RecoveryDocumentTestCase(BaseSoledadTest): def test_export_recovery_document_raw(self): - rd = self._soledad.export_recovery_document() - secret_id = rd[self._soledad.STORAGE_SECRETS_KEY].items()[0][0] - secret = rd[self._soledad.STORAGE_SECRETS_KEY][secret_id] - self.assertEqual(secret_id, self._soledad._secret_id) - self.assertEqual(secret, self._soledad._secrets[secret_id]) - self.assertTrue(self._soledad.CIPHER_KEY in secret) - self.assertTrue(secret[self._soledad.CIPHER_KEY] == 'aes256') - self.assertTrue(self._soledad.LENGTH_KEY in secret) - self.assertTrue(self._soledad.SECRET_KEY in secret) + rd = self._soledad.secrets._export_recovery_document() + secret_id = rd[self._soledad.secrets.STORAGE_SECRETS_KEY].items()[0][0] + secret = rd[self._soledad.secrets.STORAGE_SECRETS_KEY][secret_id] + self.assertEqual(secret_id, self._soledad.secrets._secret_id) + self.assertEqual(secret, self._soledad.secrets._secrets[secret_id]) + self.assertTrue(self._soledad.secrets.CIPHER_KEY in secret) + self.assertTrue(secret[self._soledad.secrets.CIPHER_KEY] == 'aes256') + self.assertTrue(self._soledad.secrets.LENGTH_KEY in secret) + self.assertTrue(self._soledad.secrets.SECRET_KEY in secret) def test_import_recovery_document(self): - rd = self._soledad.export_recovery_document() + rd = self._soledad.secrets._export_recovery_document() s = self._soledad_instance() - s.import_recovery_document(rd) - s._set_secret_id(self._soledad._secret_id) - self.assertEqual(self._soledad._get_storage_secret(), - s._get_storage_secret(), + s.secrets._import_recovery_document(rd) + s.set_secret_id(self._soledad.secrets._secret_id) + self.assertEqual(self._soledad.storage_secret, + s.storage_secret, 'Failed settinng secret for symmetric encryption.') s.close() @@ -83,13 +83,13 @@ class SoledadSecretsTestCase(BaseSoledadTest): def test__gen_secret(self): # instantiate and save secret_id sol = self._soledad_instance(user='user@leap.se') - self.assertTrue(len(sol._secrets) == 1) + self.assertTrue(len(sol.secrets._secrets) == 1) secret_id_1 = sol.secret_id # assert id is hash of secret self.assertTrue( secret_id_1 == hashlib.sha256(sol.storage_secret).hexdigest()) # generate new secret - secret_id_2 = sol._gen_secret() + secret_id_2 = sol.secrets._gen_secret() self.assertTrue(secret_id_1 != secret_id_2) sol.close() # re-instantiate @@ -97,18 +97,20 @@ class SoledadSecretsTestCase(BaseSoledadTest): user='user@leap.se', secret_id=secret_id_1) # assert ids are valid - self.assertTrue(len(sol._secrets) == 2) - self.assertTrue(secret_id_1 in sol._secrets) - self.assertTrue(secret_id_2 in sol._secrets) + self.assertTrue(len(sol.secrets._secrets) == 2) + self.assertTrue(secret_id_1 in sol.secrets._secrets) + self.assertTrue(secret_id_2 in sol.secrets._secrets) # assert format of secret 1 self.assertTrue(sol.storage_secret is not None) self.assertIsInstance(sol.storage_secret, str) - self.assertTrue(len(sol.storage_secret) == sol.GENERATED_SECRET_LENGTH) + secret_length = sol.secrets.LOCAL_STORAGE_SECRET_LENGTH \ + + sol.secrets.REMOTE_STORAGE_SECRET_LENGTH + self.assertTrue(len(sol.storage_secret) == secret_length) # assert format of secret 2 - sol._set_secret_id(secret_id_2) + sol.set_secret_id(secret_id_2) self.assertTrue(sol.storage_secret is not None) self.assertIsInstance(sol.storage_secret, str) - self.assertTrue(len(sol.storage_secret) == sol.GENERATED_SECRET_LENGTH) + self.assertTrue(len(sol.storage_secret) == secret_length) # assert id is hash of new secret self.assertTrue( secret_id_2 == hashlib.sha256(sol.storage_secret).hexdigest()) @@ -117,16 +119,18 @@ class SoledadSecretsTestCase(BaseSoledadTest): def test__has_secret(self): sol = self._soledad_instance( user='user@leap.se', prefix=self.rand_prefix) - self.assertTrue(sol._has_secret(), "Should have a secret at " - "this point") + self.assertTrue( + sol.secrets._has_secret(), + "Should have a secret at this point") # setting secret id to None should not interfere in the fact we have a # secret. - sol._set_secret_id(None) - self.assertTrue(sol._has_secret(), "Should have a secret at " - "this point") + sol.set_secret_id(None) + self.assertTrue( + sol.secrets._has_secret(), + "Should have a secret at this point") # but not being able to decrypt correctly should - sol._secrets[sol.secret_id][sol.SECRET_KEY] = None - self.assertFalse(sol._has_secret()) + sol.secrets._secrets[sol.secret_id][sol.secrets.SECRET_KEY] = None + self.assertFalse(sol.secrets._has_secret()) sol.close() |