initial import for Open Source 🎉

This commit is contained in:
Jimmy Zelinskie 2019-11-12 11:09:47 -05:00
parent 1898c361f3
commit 9c0dd3b722
2048 changed files with 218743 additions and 0 deletions

View file

@ -0,0 +1,47 @@
# -*- coding: utf-8 -*-
import pytest
from data.encryption import FieldEncrypter, _VERSIONS, DecryptionFailureException
@pytest.mark.parametrize('test_data', [
'',
'hello world',
'wassup?!',
'IGZ2Y8KUN3EFWAZZXR3D7U4V5NXDVYZI5VGU6STPB6KM83PAB8WRGM32RD9FW0C0',
'JLRFBYS1EHKUE73S99HWOQWNPGLUZTBRF5HQEFUJS5BK3XVB54RNXYV4AUMJXCMC',
'a' * 3,
'a' * 4,
'a' * 5,
'a' * 31,
'a' * 32,
'a' * 33,
'a' * 150,
u'😇',
])
@pytest.mark.parametrize('version', _VERSIONS.keys())
@pytest.mark.parametrize('secret_key', [
u'test1234',
'test1234',
'thisisanothercoolsecretkeyhere',
'107383705745765174750346070528443780244192102846031525796571939503548634055845',
])
@pytest.mark.parametrize('use_valid_key', [
True,
False,
])
def test_encryption(test_data, version, secret_key, use_valid_key):
encrypter = FieldEncrypter(secret_key, version)
encrypted = encrypter.encrypt_value(test_data, field_max_length=255)
assert encrypted != test_data
if use_valid_key:
decrypted = encrypter.decrypt_value(encrypted)
assert decrypted == test_data
with pytest.raises(DecryptionFailureException):
encrypter.decrypt_value('somerandomvalue')
else:
decrypter = FieldEncrypter('some other key', version)
with pytest.raises(DecryptionFailureException):
decrypter.decrypt_value(encrypted)