diff options
| author | Kali Kaneko <kali@leap.se> | 2013-05-13 23:06:35 +0900 | 
|---|---|---|
| committer | Kali Kaneko <kali@leap.se> | 2013-05-21 01:57:26 +0900 | 
| commit | 7c6a87acaead5f54e1f2155ecf0a089eff97d654 (patch) | |
| tree | 57faff0c4f476557c3e457514f5aed99abfbc3de /src/leap/common/tests/test_keymanager.py | |
| parent | 2a78ab3c730ba652153deaed55cfa8d92089a979 (diff) | |
use temporary openpgpwrapper as a context manager
in this way we implicitely catch any exception during
the wrapped call, and ensure that the destructor is always
called.
Diffstat (limited to 'src/leap/common/tests/test_keymanager.py')
| -rw-r--r-- | src/leap/common/tests/test_keymanager.py | 47 | 
1 files changed, 21 insertions, 26 deletions
| diff --git a/src/leap/common/tests/test_keymanager.py b/src/leap/common/tests/test_keymanager.py index 48f7273..a7aa1ca 100644 --- a/src/leap/common/tests/test_keymanager.py +++ b/src/leap/common/tests/test_keymanager.py @@ -30,16 +30,15 @@ except ImportError:  from leap.common.testing.basetest import BaseLeapTest  from leap.soledad import Soledad -from leap.soledad.crypto import SoledadCrypto - +#from leap.soledad.crypto import SoledadCrypto  from leap.common.keymanager import (      KeyManager,      openpgp,      KeyNotFound,      NoPasswordGiven, -    TAGS_INDEX, -    TAGS_AND_PRIVATE_INDEX, +    #TAGS_INDEX, +    #TAGS_AND_PRIVATE_INDEX,  )  from leap.common.keymanager.openpgp import OpenPGPKey  from leap.common.keymanager.keys import ( @@ -240,14 +239,16 @@ class OpenPGPCryptoTestCase(KeyManagerWithSoledadTestCase):              KeyNotFound, pgp.get_key, ADDRESS, private=True)      def test_openpgp_encrypt_decrypt_sym(self): -        cyphertext = openpgp.encrypt_sym('data', 'pass') +        cyphertext = openpgp.encrypt_sym( +            'data', passphrase='pass')          self.assertTrue(cyphertext is not None)          self.assertTrue(cyphertext != '')          self.assertTrue(cyphertext != 'data')          self.assertTrue(openpgp.is_encrypted_sym(cyphertext))          self.assertFalse(openpgp.is_encrypted_asym(cyphertext))          self.assertTrue(openpgp.is_encrypted(cyphertext)) -        plaintext = openpgp.decrypt_sym(cyphertext, 'pass') +        plaintext = openpgp.decrypt_sym( +            cyphertext, passphrase='pass')          self.assertEqual('data', plaintext)      def test_verify_with_private_raises(self): @@ -298,7 +299,7 @@ class OpenPGPCryptoTestCase(KeyManagerWithSoledadTestCase):          pubkey = pgp.get_key(ADDRESS, private=False)          self.assertRaises(              AssertionError, -            openpgp.encrypt_sym, data, '123', sign=pubkey) +            openpgp.encrypt_sym, data, passphrase='123', sign=pubkey)      def test_decrypt_asym_verify_with_private_raises(self):          pgp = openpgp.OpenPGPScheme(self._soledad) @@ -321,7 +322,7 @@ class OpenPGPCryptoTestCase(KeyManagerWithSoledadTestCase):          pubkey = pgp.get_key(ADDRESS, private=False)          encrypted_and_signed = openpgp.encrypt_asym(data, pubkey, sign=privkey)          pgp.put_ascii_key(PUBLIC_KEY_2) -        wrongkey = pgp.get_key('anotheruser@leap.se') +        wrongkey = pgp.get_key(ADDRESS_2)          self.assertRaises(              errors.InvalidSignature,              openpgp.verify, encrypted_and_signed, wrongkey) @@ -332,19 +333,8 @@ class OpenPGPCryptoTestCase(KeyManagerWithSoledadTestCase):          data = 'data'          privkey = pgp.get_key(ADDRESS, private=True)          encrypted_and_signed = openpgp.encrypt_sym(data, '123', sign=privkey) -        self.assertRaises( -            AssertionError, -            openpgp.decrypt_sym, -            encrypted_and_signed, 'decrypt', verify=privkey) - -    def test_decrypt_sym_verify_with_private_raises(self): -        pgp = openpgp.OpenPGPScheme(self._soledad) -        pgp.put_ascii_key(PRIVATE_KEY) -        data = 'data' -        privkey = pgp.get_key(ADDRESS, private=True) -        encrypted_and_signed = openpgp.encrypt_sym(data, '123', sign=privkey)          pgp.put_ascii_key(PUBLIC_KEY_2) -        wrongkey = pgp.get_key('anotheruser@leap.se') +        wrongkey = pgp.get_key(ADDRESS_2)          self.assertRaises(              errors.InvalidSignature,              openpgp.verify, encrypted_and_signed, wrongkey) @@ -385,8 +375,7 @@ class OpenPGPCryptoTestCase(KeyManagerWithSoledadTestCase):          self.assertEqual(data, res) -class KeyManagerKeyManagementTestCase( -        KeyManagerWithSoledadTestCase): +class KeyManagerKeyManagementTestCase(KeyManagerWithSoledadTestCase):      def test_get_all_keys_in_db(self):          km = self._key_manager() @@ -477,15 +466,15 @@ class KeyManagerKeyManagementTestCase(              headers = {'content-type': 'application/json'}              def json(self): -                return {'address': 'anotheruser@leap.se', 'keys': []} +                return {'address': ADDRESS_2, 'keys': []}          km._fetcher.get = Mock(              return_value=Response())          # do the fetch -        km.fetch_keys_from_server('anotheruser@leap.se') +        km.fetch_keys_from_server(ADDRESS_2)          # and verify the call          km._fetcher.get.assert_called_once_with( -            km._nickserver_url + '/key/' + 'anotheruser@leap.se', +            km._nickserver_url + '/key/' + ADDRESS_2,          )      def test_refresh_keys(self): @@ -495,11 +484,13 @@ class KeyManagerKeyManagementTestCase(          km.fetch_keys_from_server = Mock(return_value=[])          km.refresh_keys()          km.fetch_keys_from_server.assert_called_once_with( -            'leap@leap.se' +            ADDRESS          )  # Key material for testing + +# key 24D18DDF: public key "Leap Test Key <leap@leap.se>"  KEY_FINGERPRINT = "E36E738D69173C13D709E44F2F455E2824D18DDF"  PUBLIC_KEY = """  -----BEGIN PGP PUBLIC KEY BLOCK----- @@ -662,6 +653,7 @@ RZXoH+FTg9UAW87eqU610npOkT6cRaBxaMK/mDtGNdc=  -----END PGP PRIVATE KEY BLOCK-----  """ +# key 7FEE575A: public key "anotheruser <anotheruser@leap.se>"  PUBLIC_KEY_2 = """  -----BEGIN PGP PUBLIC KEY BLOCK-----  Version: GnuPG v1.4.10 (GNU/Linux) @@ -719,3 +711,6 @@ THx7N776fcYHGumbqUMYrxrcZSbNveE6SaK8fphRam1dewM0  =a5gs  -----END PGP PRIVATE KEY BLOCK-----  """ +import unittest +if __name__ == "__main__": +    unittest.main() | 
