diff options
author | Donald Stufft <donald@stufft.io> | 2013-10-03 11:26:42 -0700 |
---|---|---|
committer | Donald Stufft <donald@stufft.io> | 2013-10-03 11:26:42 -0700 |
commit | 0f96716946c80fbaa2bab7813746baaba017f08d (patch) | |
tree | 9ebbf38b4779b64effec121a6d562c543b613e8b /tests | |
parent | 14fdcd186c9f6c7ccc1e6388347cd584822bc041 (diff) | |
parent | 81a5287984cd31080f7a5a1b249caf626ac8f6bf (diff) | |
download | cryptography-0f96716946c80fbaa2bab7813746baaba017f08d.tar.gz cryptography-0f96716946c80fbaa2bab7813746baaba017f08d.tar.bz2 cryptography-0f96716946c80fbaa2bab7813746baaba017f08d.zip |
Merge pull request #85 from alex/explicit-api
Explicitly pass around the API, and run all tests under all available AP...
Diffstat (limited to 'tests')
-rw-r--r-- | tests/conftest.py | 5 | ||||
-rw-r--r-- | tests/primitives/test_block.py | 25 | ||||
-rw-r--r-- | tests/primitives/test_nist.py | 36 |
3 files changed, 45 insertions, 21 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..774885fa 100644 --- a/tests/primitives/test_block.py +++ b/tests/primitives/test_block.py @@ -23,18 +23,27 @@ 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_instantiate_without_api(self): cipher = BlockCipher( ciphers.AES(binascii.unhexlify(b"0" * 32)), modes.CBC(binascii.unhexlify(b"0" * 32)) ) + assert cipher.name == "AES-128-CBC" + + def test_use_after_finalize(self, api): + cipher = BlockCipher( + ciphers.AES(binascii.unhexlify(b"0" * 32)), + modes.CBC(binascii.unhexlify(b"0" * 32)), + api + ) cipher.encrypt(b"a" * 16) cipher.finalize() with pytest.raises(ValueError): @@ -42,20 +51,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() |