aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2013-10-21 21:32:21 -0700
committerAlex Gaynor <alex.gaynor@gmail.com>2013-10-21 21:32:21 -0700
commite524d73d76d63c6399a55cd80cec53cf39c98659 (patch)
tree7532b109bcddc17995f95b3178b52c739a626bd3 /tests
parentf3421788033b233d1aa51eae08c4fbe7b9748536 (diff)
parentd4cb34d51ae6695a6cda8e3b46eeb0b45a5935f1 (diff)
downloadcryptography-e524d73d76d63c6399a55cd80cec53cf39c98659.tar.gz
cryptography-e524d73d76d63c6399a55cd80cec53cf39c98659.tar.bz2
cryptography-e524d73d76d63c6399a55cd80cec53cf39c98659.zip
Merge pull request #147 from reaperhulk/hash-improvements
Provide data to hash constructor + reject unicode ala hashlib
Diffstat (limited to 'tests')
-rw-r--r--tests/primitives/test_hashes.py11
-rw-r--r--tests/primitives/utils.py4
2 files changed, 14 insertions, 1 deletions
diff --git a/tests/primitives/test_hashes.py b/tests/primitives/test_hashes.py
index 901ddabb..805d992b 100644
--- a/tests/primitives/test_hashes.py
+++ b/tests/primitives/test_hashes.py
@@ -13,11 +13,22 @@
from __future__ import absolute_import, division, print_function
+import pytest
+
+import six
+
from cryptography.primitives import hashes
from .utils import generate_base_hash_test
+class TestBaseHash(object):
+ def test_base_hash_reject_unicode(self, api):
+ m = hashes.SHA1(api=api)
+ with pytest.raises(TypeError):
+ m.update(six.u("\u00FC"))
+
+
class TestSHA1(object):
test_SHA1 = generate_base_hash_test(
hashes.SHA1,
diff --git a/tests/primitives/utils.py b/tests/primitives/utils.py
index a3759b03..a15e773c 100644
--- a/tests/primitives/utils.py
+++ b/tests/primitives/utils.py
@@ -67,6 +67,8 @@ def hash_test(api, hash_cls, params, only_if, skip_message):
m = hash_cls(api=api)
m.update(binascii.unhexlify(msg))
assert m.hexdigest() == md.replace(" ", "").lower()
+ digest = hash_cls(api=api, data=binascii.unhexlify(msg)).hexdigest()
+ assert digest == md.replace(" ", "").lower()
def generate_base_hash_test(hash_cls, digest_size, block_size,
@@ -115,6 +117,6 @@ def generate_long_string_hash_test(hash_factory, md, only_if=None,
def long_string_hash_test(api, hash_factory, md, only_if, skip_message):
if only_if is not None and not only_if(api):
pytest.skip(skip_message)
- m = hash_factory(api)
+ m = hash_factory(api=api)
m.update(b"a" * 1000000)
assert m.hexdigest() == md.lower()