Fix unit tests on Python 3.10.

pull/74628/head
Matt Clay 4 years ago
parent 2f7e0b8489
commit d4413dac08

@ -104,6 +104,8 @@ class TestAnsibleModuleExitJson:
if sys.version_info < (3,):
error_msg = "fail_json() takes exactly 2 arguments (1 given)"
elif sys.version_info >= (3, 10):
error_msg = "AnsibleModule.fail_json() missing 1 required positional argument: 'msg'"
else:
error_msg = "fail_json() missing 1 required positional argument: 'msg'"

@ -543,18 +543,21 @@ class TestVaultCipherAes256(unittest.TestCase):
self.assertIsInstance(b_key_2, six.binary_type)
self.assertEqual(b_key_1, b_key_2)
# And again with pycrypto
b_key_3 = self.vault_cipher._create_key_pycrypto(b_password, b_salt, key_length=32, iv_length=16)
self.assertIsInstance(b_key_3, six.binary_type)
# verify we get the same answer
# we could potentially run a few iterations of this and time it to see if it's roughly constant time
# and or that it exceeds some minimal time, but that would likely cause unreliable fails, esp in CI
b_key_4 = self.vault_cipher._create_key_pycrypto(b_password, b_salt, key_length=32, iv_length=16)
self.assertIsInstance(b_key_4, six.binary_type)
self.assertEqual(b_key_3, b_key_4)
self.assertEqual(b_key_1, b_key_4)
if vault.HAS_PYCRYPTO:
# And again with pycrypto
b_key_3 = self.vault_cipher._create_key_pycrypto(b_password, b_salt, key_length=32, iv_length=16)
self.assertIsInstance(b_key_3, six.binary_type)
# verify we get the same answer
# we could potentially run a few iterations of this and time it to see if it's roughly constant time
# and or that it exceeds some minimal time, but that would likely cause unreliable fails, esp in CI
b_key_4 = self.vault_cipher._create_key_pycrypto(b_password, b_salt, key_length=32, iv_length=16)
self.assertIsInstance(b_key_4, six.binary_type)
self.assertEqual(b_key_3, b_key_4)
self.assertEqual(b_key_1, b_key_4)
@pytest.mark.skipif(not vault.HAS_PYCRYPTO,
reason='PyCrypto is not installed')
def test_create_key_known_pycrypto(self):
b_password = b'hunter42'

@ -1,4 +1,4 @@
pycrypto
pycrypto ; python_version < '3.10' # pycrypto is not compatible with Python 3.10
passlib
pywinrm
pytz

Loading…
Cancel
Save