aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2016-01-14 09:08:26 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2016-01-14 09:08:26 -0600
commitce6597849d390e325ed1f03530c022b2af15216b (patch)
tree0f7829981d7a15976f2be6ac8ce946745963f7dc
parent4b88c2d091f844c03f083ab2d6964f3980982419 (diff)
parent3066bf4150635a8c6be5ddb8dc4da20721d5daed (diff)
downloadcryptography-ce6597849d390e325ed1f03530c022b2af15216b.tar.gz
cryptography-ce6597849d390e325ed1f03530c022b2af15216b.tar.bz2
cryptography-ce6597849d390e325ed1f03530c022b2af15216b.zip
Merge pull request #2668 from alex/hypothesis-padding
Added hypothesis tests for padding
-rw-r--r--tests/hypothesis/test_padding.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/hypothesis/test_padding.py b/tests/hypothesis/test_padding.py
new file mode 100644
index 00000000..21c9a234
--- /dev/null
+++ b/tests/hypothesis/test_padding.py
@@ -0,0 +1,21 @@
+# 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, integers
+
+from cryptography.hazmat.primitives.padding import PKCS7
+
+
+@given(integers(min_value=1, max_value=31), binary())
+def test_pkcs7(block_size, data):
+ # Generate in [1, 31] so we can easily get block_size in bits by
+ # multiplying by 8.
+ p = PKCS7(block_size=block_size * 8)
+ padder = p.padder()
+ unpadder = p.unpadder()
+
+ padded = padder.update(data) + padder.finalize()
+
+ assert unpadder.update(padded) + unpadder.finalize() == data