diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2013-10-16 11:59:17 -0700 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2013-10-16 11:59:17 -0700 |
commit | 1fe70b12b24f1180b2c4fde1764e309bc0cb338d (patch) | |
tree | 0e5ff08c13691675319ff5192deb2ad595e9f895 /tests/primitives/test_cryptrec.py | |
parent | 1ab3aa47898b70f3329c17854c913e7511486787 (diff) | |
download | cryptography-1fe70b12b24f1180b2c4fde1764e309bc0cb338d.tar.gz cryptography-1fe70b12b24f1180b2c4fde1764e309bc0cb338d.tar.bz2 cryptography-1fe70b12b24f1180b2c4fde1764e309bc0cb338d.zip |
Start of the great refactoring
Diffstat (limited to 'tests/primitives/test_cryptrec.py')
-rw-r--r-- | tests/primitives/test_cryptrec.py | 47 |
1 files changed, 11 insertions, 36 deletions
diff --git a/tests/primitives/test_cryptrec.py b/tests/primitives/test_cryptrec.py index c30bda48..c8e0af0f 100644 --- a/tests/primitives/test_cryptrec.py +++ b/tests/primitives/test_cryptrec.py @@ -12,51 +12,26 @@ # limitations under the License. """ -Test using the CRYPTREC (Camellia) Test Vectors +Tests using the CRYPTREC (Camellia) Test Vectors """ from __future__ import absolute_import, division, print_function import binascii -import itertools -import os -import pytest - -from cryptography.primitives.block import BlockCipher, ciphers, modes +from cryptography.primitives.block import ciphers, modes +from .utils import generate_encrypt_test from ..utils import load_cryptrec_vectors_from_file -def parameterize_encrypt_test(cipher, vector_type, params, fnames): - return pytest.mark.parametrize(params, - list(itertools.chain.from_iterable( - load_cryptrec_vectors_from_file( - os.path.join(cipher, vector_type, fname), - ) - for fname in fnames - )) - ) - - class TestCamelliaECB(object): - @parameterize_encrypt_test( - "Camellia", "NTT", - ("key", "plaintext", "ciphertext"), - [ - "camellia-128-ecb.txt", - "camellia-192-ecb.txt", - "camellia-256-ecb.txt", - ] + test_NTT = generate_encrypt_test( + load_cryptrec_vectors_from_file, + "Camellia", + "NTT", + ["camellia-128-ecb", "camellia-192-ecb", "camellia-256"], + lambda key: ciphers.Camellia(binascii.unhexlify((key))), + lambda key: modes.EBC(), + only_if=lambda api: api.supports_cipher("camellia-128-ecb") ) - def test_NTT(self, key, plaintext, ciphertext, api): - if not api.supports_cipher("camellia-128-ecb"): - pytest.skip("Does not support Camellia ECB") # pragma: no cover - cipher = BlockCipher( - ciphers.Camellia(binascii.unhexlify(key)), - modes.ECB(), - api - ) - actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext)) - actual_ciphertext += cipher.finalize() - assert binascii.hexlify(actual_ciphertext).upper() == ciphertext |