aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives/test_block.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/hazmat/primitives/test_block.py')
-rw-r--r--tests/hazmat/primitives/test_block.py50
1 files changed, 33 insertions, 17 deletions
diff --git a/tests/hazmat/primitives/test_block.py b/tests/hazmat/primitives/test_block.py
index 1b3fc1cb..eb0a2c3b 100644
--- a/tests/hazmat/primitives/test_block.py
+++ b/tests/hazmat/primitives/test_block.py
@@ -8,7 +8,6 @@ import binascii
import pytest
-from cryptography import utils
from cryptography.exceptions import (
AlreadyFinalized, _Reasons
)
@@ -20,23 +19,10 @@ from cryptography.hazmat.primitives.ciphers import (
from .utils import (
generate_aead_exception_test, generate_aead_tag_exception_test
)
+from ...doubles import DummyCipherAlgorithm, DummyMode
from ...utils import raises_unsupported_algorithm
-@utils.register_interface(modes.Mode)
-class DummyMode(object):
- name = "dummy-mode"
-
- def validate_for_algorithm(self, algorithm):
- pass
-
-
-@utils.register_interface(base.CipherAlgorithm)
-class DummyCipher(object):
- name = "dummy-cipher"
- key_size = None
-
-
@pytest.mark.requires_backend_interface(interface=CipherBackend)
class TestCipher(object):
def test_creates_encryptor(self, backend):
@@ -107,7 +93,7 @@ class TestCipherContext(object):
@pytest.mark.parametrize("mode", [DummyMode(), None])
def test_nonexistent_cipher(self, backend, mode):
cipher = Cipher(
- DummyCipher(), mode, backend
+ DummyCipherAlgorithm(), mode, backend
)
with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_CIPHER):
cipher.encryptor()
@@ -134,7 +120,7 @@ class TestCipherContext(object):
@pytest.mark.supported(
only_if=lambda backend: backend.cipher_supported(
- algorithms.AES("\x00" * 16), modes.GCM("\x00" * 12)
+ algorithms.AES(b"\x00" * 16), modes.GCM(b"\x00" * 12)
),
skip_message="Does not support AES GCM",
)
@@ -191,3 +177,33 @@ class TestModeValidation(object):
modes.CTR(b"abc"),
backend,
)
+
+
+class TestModesRequireBytes(object):
+ def test_cbc(self):
+ with pytest.raises(TypeError):
+ modes.CBC([1] * 16)
+
+ def test_cfb(self):
+ with pytest.raises(TypeError):
+ modes.CFB([1] * 16)
+
+ def test_cfb8(self):
+ with pytest.raises(TypeError):
+ modes.CFB8([1] * 16)
+
+ def test_ofb(self):
+ with pytest.raises(TypeError):
+ modes.OFB([1] * 16)
+
+ def test_ctr(self):
+ with pytest.raises(TypeError):
+ modes.CTR([1] * 16)
+
+ def test_gcm_iv(self):
+ with pytest.raises(TypeError):
+ modes.GCM([1] * 16)
+
+ def test_gcm_tag(self):
+ with pytest.raises(TypeError):
+ modes.GCM(b"\x00" * 16, [1] * 16)