aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2013-10-03 09:24:58 -0700
committerAlex Gaynor <alex.gaynor@gmail.com>2013-10-03 09:24:58 -0700
commit814efab2a71a869d362c0b488b6c51bb590f0d23 (patch)
treeecb2eefd8b37a8ee2135130a720ca8134cafea52 /tests
parent14fdcd186c9f6c7ccc1e6388347cd584822bc041 (diff)
downloadcryptography-814efab2a71a869d362c0b488b6c51bb590f0d23.tar.gz
cryptography-814efab2a71a869d362c0b488b6c51bb590f0d23.tar.bz2
cryptography-814efab2a71a869d362c0b488b6c51bb590f0d23.zip
Explicitly pass around the API, and run all tests under all available APIs
Diffstat (limited to 'tests')
-rw-r--r--tests/conftest.py5
-rw-r--r--tests/primitives/test_block.py20
-rw-r--r--tests/primitives/test_nist.py36
3 files changed, 39 insertions, 22 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
new file mode 100644
index 00000000..d16be3b6
--- /dev/null
+++ b/tests/conftest.py
@@ -0,0 +1,5 @@
+def pytest_generate_tests(metafunc):
+ from cryptography.bindings.openssl import api
+
+ if "api" in metafunc.fixturenames:
+ metafunc.parametrize("api", [api])
diff --git a/tests/primitives/test_block.py b/tests/primitives/test_block.py
index 774409ca..92fd31a3 100644
--- a/tests/primitives/test_block.py
+++ b/tests/primitives/test_block.py
@@ -23,17 +23,19 @@ from cryptography.primitives.block.base import _Operation
class TestBlockCipher(object):
- def test_cipher_name(self):
+ def test_cipher_name(self, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(b"0" * 32)),
- modes.CBC(binascii.unhexlify(b"0" * 32))
+ modes.CBC(binascii.unhexlify(b"0" * 32)),
+ api
)
assert cipher.name == "AES-128-CBC"
- def test_use_after_finalize(self):
+ def test_use_after_finalize(self, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(b"0" * 32)),
- modes.CBC(binascii.unhexlify(b"0" * 32))
+ modes.CBC(binascii.unhexlify(b"0" * 32)),
+ api
)
cipher.encrypt(b"a" * 16)
cipher.finalize()
@@ -42,20 +44,22 @@ class TestBlockCipher(object):
with pytest.raises(ValueError):
cipher.finalize()
- def test_encrypt_with_invalid_operation(self):
+ def test_encrypt_with_invalid_operation(self, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(b"0" * 32)),
- modes.CBC(binascii.unhexlify(b"0" * 32))
+ modes.CBC(binascii.unhexlify(b"0" * 32)),
+ api
)
cipher._operation = _Operation.decrypt
with pytest.raises(ValueError):
cipher.encrypt(b"b" * 16)
- def test_finalize_with_invalid_operation(self):
+ def test_finalize_with_invalid_operation(self, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(b"0" * 32)),
- modes.CBC(binascii.unhexlify(b"0" * 32))
+ modes.CBC(binascii.unhexlify(b"0" * 32)),
+ api
)
cipher._operation = pretend.stub(name="wat")
diff --git a/tests/primitives/test_nist.py b/tests/primitives/test_nist.py
index 1e5d2396..261bbd1d 100644
--- a/tests/primitives/test_nist.py
+++ b/tests/primitives/test_nist.py
@@ -60,10 +60,11 @@ class TestAES_CBC(object):
"CBCVarTxt256.rsp",
]
)
- def test_KAT(self, key, iv, plaintext, ciphertext):
+ def test_KAT(self, key, iv, plaintext, ciphertext, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(key)),
modes.CBC(binascii.unhexlify(iv)),
+ api
)
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()
@@ -78,10 +79,11 @@ class TestAES_CBC(object):
"CBCMMT256.rsp",
]
)
- def test_MMT(self, key, iv, plaintext, ciphertext):
+ def test_MMT(self, key, iv, plaintext, ciphertext, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(key)),
modes.CBC(binascii.unhexlify(iv)),
+ api
)
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()
@@ -107,10 +109,11 @@ class TestAES_ECB(object):
"ECBVarTxt256.rsp",
]
)
- def test_KAT(self, key, plaintext, ciphertext):
+ def test_KAT(self, key, plaintext, ciphertext, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(key)),
- modes.ECB()
+ modes.ECB(),
+ api
)
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()
@@ -125,10 +128,11 @@ class TestAES_ECB(object):
"ECBMMT256.rsp",
]
)
- def test_MMT(self, key, plaintext, ciphertext):
+ def test_MMT(self, key, plaintext, ciphertext, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(key)),
- modes.ECB()
+ modes.ECB(),
+ api
)
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()
@@ -154,10 +158,11 @@ class TestAES_OFB(object):
"OFBVarTxt256.rsp",
]
)
- def test_KAT(self, key, iv, plaintext, ciphertext):
+ def test_KAT(self, key, iv, plaintext, ciphertext, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(key)),
- modes.OFB(binascii.unhexlify(iv))
+ modes.OFB(binascii.unhexlify(iv)),
+ api
)
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()
@@ -172,10 +177,11 @@ class TestAES_OFB(object):
"OFBMMT256.rsp",
]
)
- def test_MMT(self, key, iv, plaintext, ciphertext):
+ def test_MMT(self, key, iv, plaintext, ciphertext, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(key)),
- modes.OFB(binascii.unhexlify(iv))
+ modes.OFB(binascii.unhexlify(iv)),
+ api
)
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()
@@ -201,10 +207,11 @@ class TestAES_CFB(object):
"CFB128VarTxt256.rsp",
]
)
- def test_KAT(self, key, iv, plaintext, ciphertext):
+ def test_KAT(self, key, iv, plaintext, ciphertext, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(key)),
- modes.CFB(binascii.unhexlify(iv))
+ modes.CFB(binascii.unhexlify(iv)),
+ api
)
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()
@@ -219,10 +226,11 @@ class TestAES_CFB(object):
"CFB128MMT256.rsp",
]
)
- def test_MMT(self, key, iv, plaintext, ciphertext):
+ def test_MMT(self, key, iv, plaintext, ciphertext, api):
cipher = BlockCipher(
ciphers.AES(binascii.unhexlify(key)),
- modes.CFB(binascii.unhexlify(iv))
+ modes.CFB(binascii.unhexlify(iv)),
+ api
)
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()