diff options
author | David Reid <dreid@dreid.org> | 2013-11-04 19:37:46 -0800 |
---|---|---|
committer | David Reid <dreid@dreid.org> | 2013-11-04 19:37:46 -0800 |
commit | 4a84def6d508cafef5d32d72c68b0c56fc1f810c (patch) | |
tree | e428bf2a267577f93e37ea05714cd08ab2ae3f54 /tests/hazmat | |
parent | 79eaa7efa2aaafd62ffeee7385526f14647e5a7e (diff) | |
parent | 86f98a051c9298020ac1d6cdb06ceb513699c7fa (diff) | |
download | cryptography-4a84def6d508cafef5d32d72c68b0c56fc1f810c.tar.gz cryptography-4a84def6d508cafef5d32d72c68b0c56fc1f810c.tar.bz2 cryptography-4a84def6d508cafef5d32d72c68b0c56fc1f810c.zip |
Merge pull request #216 from alex/more-error-condition
Replaced an assertion in the OpenSSL backend with a proper exception
Diffstat (limited to 'tests/hazmat')
-rw-r--r-- | tests/hazmat/bindings/test_openssl.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/hazmat/bindings/test_openssl.py b/tests/hazmat/bindings/test_openssl.py index fb01c10a..f283a7dd 100644 --- a/tests/hazmat/bindings/test_openssl.py +++ b/tests/hazmat/bindings/test_openssl.py @@ -13,11 +13,21 @@ import pytest +from cryptography.exceptions import UnsupportedAlgorithm from cryptography.hazmat.bindings.openssl.backend import backend, Backend +from cryptography.hazmat.primitives.block import BlockCipher from cryptography.hazmat.primitives.block.ciphers import AES from cryptography.hazmat.primitives.block.modes import CBC +class FakeMode(object): + pass + + +class FakeCipher(object): + pass + + class TestOpenSSL(object): def test_backend_exists(self): assert backend @@ -44,3 +54,16 @@ class TestOpenSSL(object): b = Backend() assert b.ffi is backend.ffi assert b.lib is backend.lib + + def test_nonexistent_cipher(self): + b = Backend() + b.ciphers.register_cipher_adapter( + FakeCipher, + FakeMode, + lambda backend, cipher, mode: backend.ffi.NULL + ) + cipher = BlockCipher( + FakeCipher(), FakeMode(), backend=b, + ) + with pytest.raises(UnsupportedAlgorithm): + cipher.encryptor() |