aboutsummaryrefslogtreecommitdiff
path: root/python/tests
diff options
context:
space:
mode:
authorDamir Jelić <poljar@termina.org.uk>2019-04-02 12:56:06 +0200
committerDamir Jelić <poljar@termina.org.uk>2019-04-02 12:56:59 +0200
commitfcfa5f12a4cd482973fdf03000af4a26a360dc2e (patch)
treee14fe09246b0eba099c331bee69c0edfdc71c646 /python/tests
parent446628753b6283f6dcbf27589b2c18f93c71768b (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.py29
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