diff options
author | Damir Jelić <poljar@termina.org.uk> | 2019-04-02 12:56:06 +0200 |
---|---|---|
committer | Damir Jelić <poljar@termina.org.uk> | 2019-04-02 12:56:59 +0200 |
commit | fcfa5f12a4cd482973fdf03000af4a26a360dc2e (patch) | |
tree | e14fe09246b0eba099c331bee69c0edfdc71c646 /python/tests | |
parent | 446628753b6283f6dcbf27589b2c18f93c71768b (diff) |
python: Expose the sha256() function in the utilities.
Signed-off-by: Damir Jelić <poljar@termina.org.uk>
Diffstat (limited to 'python/tests')
-rw-r--r-- | python/tests/utils_test.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/python/tests/utils_test.py b/python/tests/utils_test.py new file mode 100644 index 0000000..a552d12 --- /dev/null +++ b/python/tests/utils_test.py @@ -0,0 +1,29 @@ +import base64 +import hashlib + +from future.utils import bytes_to_native_str +from hypothesis import given +from hypothesis.strategies import text + +from olm import sha256 +from olm._compat import to_bytes + + +class TestClass(object): + @given(text(), text()) + def test_sha256(self, input1, input2): + first_hash = sha256(input1) + second_hash = sha256(input2) + + hashlib_hash = base64.b64encode( + hashlib.sha256(to_bytes(input1)).digest() + ) + + hashlib_hash = bytes_to_native_str(hashlib_hash[:-1]) + + if input1 == input2: + assert first_hash == second_hash + else: + assert first_hash != second_hash + + assert hashlib_hash == first_hash |