From 58d19ea654e0c8d250f46b0d72191e48b4bc8588 Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Wed, 1 Feb 2017 16:24:18 -0500 Subject: [PATCH] add tests for encryption/decryption in awx.main.utils.common --- awx/main/tests/unit/common/test_common.py | 33 +++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 awx/main/tests/unit/common/test_common.py diff --git a/awx/main/tests/unit/common/test_common.py b/awx/main/tests/unit/common/test_common.py new file mode 100644 index 0000000000..a152d69c12 --- /dev/null +++ b/awx/main/tests/unit/common/test_common.py @@ -0,0 +1,33 @@ +from awx.conf.models import Setting +from awx.main.utils import common + + +def test_encrypt_field(): + field = Setting(pk=123, value='ANSIBLE') + encrypted = common.encrypt_field(field, 'value') + assert encrypted == '$encrypted$AES$Ey83gcmMuBBT1OEq2lepnw==' + assert common.decrypt_field(field, 'value') == 'ANSIBLE' + + +def test_encrypt_field_without_pk(): + field = Setting(value='ANSIBLE') + encrypted = common.encrypt_field(field, 'value') + assert encrypted == '$encrypted$AES$8uIzEoGyY6QJwoTWbMFGhw==' + assert common.decrypt_field(field, 'value') == 'ANSIBLE' + + +def test_encrypt_subfield(): + field = Setting(value={'name': 'ANSIBLE'}) + encrypted = common.encrypt_field(field, 'value', subfield='name') + assert encrypted == '$encrypted$AES$8uIzEoGyY6QJwoTWbMFGhw==' + assert common.decrypt_field(field, 'value', subfield='name') == 'ANSIBLE' + + +def test_encrypt_field_with_ask(): + encrypted = common.encrypt_field(Setting(value='ASK'), 'value', ask=True) + assert encrypted == 'ASK' + + +def test_encrypt_field_with_empty_value(): + encrypted = common.encrypt_field(Setting(value=None), 'value') + assert encrypted is None