diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2013-10-03 21:54:05 -0500 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2013-10-06 17:31:31 -0500 |
commit | f2ce1ae856e43a292ea7a6aae26d75b508f0a363 (patch) | |
tree | d973c676ff4e4c7925abd9bb1a3b2fbac11bc62a /tests/primitives | |
parent | efe0189de0714bbde76082566d0f82df1439cb63 (diff) | |
download | cryptography-f2ce1ae856e43a292ea7a6aae26d75b508f0a363.tar.gz cryptography-f2ce1ae856e43a292ea7a6aae26d75b508f0a363.tar.bz2 cryptography-f2ce1ae856e43a292ea7a6aae26d75b508f0a363.zip |
rebase and modify to support some changed behaviors
* Update code to reflect new api object (ffi and lib are no longer private)
* tests updated to take an api object
* skipif marks removed for now as we need to use the api passed to each
individual test. skip testing done inside the test
* changed name of supports in api to supports_cipher (future PRs will
contain supports_hash)
Diffstat (limited to 'tests/primitives')
-rw-r--r-- | tests/primitives/test_cryptrec.py | 10 | ||||
-rw-r--r-- | tests/primitives/test_openssl_vectors.py | 13 |
2 files changed, 10 insertions, 13 deletions
diff --git a/tests/primitives/test_cryptrec.py b/tests/primitives/test_cryptrec.py index 54ae4d0c..fb2bf19a 100644 --- a/tests/primitives/test_cryptrec.py +++ b/tests/primitives/test_cryptrec.py @@ -23,13 +23,10 @@ import os import pytest -from cryptography.bindings.openssl.api import api from cryptography.primitives.block import BlockCipher, ciphers, modes from ..utils import load_cryptrec_vectors_from_file -CAMELLIA_ECB_SUPPORTED = api.supports('camellia-128-ecb') - def parameterize_encrypt_test(cipher, vector_type, params, fnames): return pytest.mark.parametrize(params, @@ -42,9 +39,7 @@ def parameterize_encrypt_test(cipher, vector_type, params, fnames): ) -@pytest.mark.skipif("not CAMELLIA_ECB_SUPPORTED") class TestCamelliaECB(object): - @parameterize_encrypt_test( "Camellia", "NTT", ("key", "plaintext", "ciphertext"), @@ -54,10 +49,13 @@ class TestCamelliaECB(object): "camellia-256-ecb.txt", ] ) - def test_NTT(self, key, plaintext, ciphertext): + def test_NTT(self, key, plaintext, ciphertext, api): + if not api.supports_cipher('camellia-128-ecb'): + pytest.skip() cipher = BlockCipher( ciphers.Camellia(binascii.unhexlify(key)), modes.ECB(), + api ) actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext)) actual_ciphertext += cipher.finalize() diff --git a/tests/primitives/test_openssl_vectors.py b/tests/primitives/test_openssl_vectors.py index 0ecbcd9d..ccd07194 100644 --- a/tests/primitives/test_openssl_vectors.py +++ b/tests/primitives/test_openssl_vectors.py @@ -28,10 +28,6 @@ from cryptography.primitives.block import BlockCipher, ciphers, modes from ..utils import load_openssl_vectors_from_file -CAMELLIA_CBC_SUPPORTED = api.supports('camellia-128-cbc') -CAMELLIA_OFB_SUPPORTED = api.supports('camellia-128-ofb') -CAMELLIA_CFB_SUPPORTED = api.supports('camellia-128-cfb') - def parameterize_encrypt_test(cipher, params, fnames): return pytest.mark.parametrize(params, @@ -42,7 +38,6 @@ def parameterize_encrypt_test(cipher, params, fnames): ) -@pytest.mark.skipif("not CAMELLIA_CBC_SUPPORTED") class TestCamelliaCBC(object): @parameterize_encrypt_test( @@ -53,6 +48,8 @@ class TestCamelliaCBC(object): ] ) def test_OpenSSL(self, key, iv, plaintext, ciphertext): + if not api.supports_cipher('camellia-128-cbc'): + pytest.skip() cipher = BlockCipher( ciphers.Camellia(binascii.unhexlify(key)), modes.CBC(binascii.unhexlify(iv)), @@ -62,7 +59,6 @@ class TestCamelliaCBC(object): assert binascii.hexlify(actual_ciphertext).upper() == ciphertext -@pytest.mark.skipif("not CAMELLIA_OFB_SUPPORTED") class TestCamelliaOFB(object): @parameterize_encrypt_test( @@ -73,6 +69,8 @@ class TestCamelliaOFB(object): ] ) def test_OpenSSL(self, key, iv, plaintext, ciphertext): + if not api.supports_cipher('camellia-128-ofb'): + pytest.skip() cipher = BlockCipher( ciphers.Camellia(binascii.unhexlify(key)), modes.OFB(binascii.unhexlify(iv)), @@ -82,7 +80,6 @@ class TestCamelliaOFB(object): assert binascii.hexlify(actual_ciphertext).upper() == ciphertext -@pytest.mark.skipif("not CAMELLIA_CFB_SUPPORTED") class TestCamelliaCFB(object): @parameterize_encrypt_test( @@ -93,6 +90,8 @@ class TestCamelliaCFB(object): ] ) def test_OpenSSL(self, key, iv, plaintext, ciphertext): + if not api.supports_cipher('camellia-128-cfb'): + pytest.skip() cipher = BlockCipher( ciphers.Camellia(binascii.unhexlify(key)), modes.CFB(binascii.unhexlify(iv)), |