aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/hypothesis/test_padding.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/hypothesis/test_padding.py b/tests/hypothesis/test_padding.py
new file mode 100644
index 00000000..d2b77756
--- /dev/null
+++ b/tests/hypothesis/test_padding.py
@@ -0,0 +1,20 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+
+from hypothesis import given
+from hypothesis.strategies import binary
+
+from cryptography.hazmat.primitives.padding import PKCS7
+
+
+@given(binary())
+def test_pkcs7(data):
+ # TODO: add additional tests with arbitrary block sizes
+ p = PKCS7(block_size=128)
+ padder = p.padder()
+ unpadder = p.unpadder()
+
+ padded = padder.update(data) + padder.finalize()
+
+ assert unpadder.update(padded) + unpadder.finalize() == data