30 lines
716 B
Python
30 lines
716 B
Python
|
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
|