aboutsummaryrefslogtreecommitdiffstats
path: root/tests/primitives
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2013-10-03 21:54:05 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2013-10-06 17:31:31 -0500
commitf2ce1ae856e43a292ea7a6aae26d75b508f0a363 (patch)
treed973c676ff4e4c7925abd9bb1a3b2fbac11bc62a /tests/primitives
parentefe0189de0714bbde76082566d0f82df1439cb63 (diff)
downloadcryptography-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.py10
-rw-r--r--tests/primitives/test_openssl_vectors.py13
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)),