initial import for Open Source 🎉
This commit is contained in:
parent
1898c361f3
commit
9c0dd3b722
2048 changed files with 218743 additions and 0 deletions
47
data/test/test_encryption.py
Normal file
47
data/test/test_encryption.py
Normal 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)
|
Reference in a new issue