Fix unit tests on Python 3.10.

This commit is contained in:
Matt Clay 2021-05-07 16:41:32 -07:00
parent 2f7e0b8489
commit d4413dac08
3 changed files with 16 additions and 11 deletions

View file

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

View file

@ -543,18 +543,21 @@ class TestVaultCipherAes256(unittest.TestCase):
self.assertIsInstance(b_key_2, six.binary_type) self.assertIsInstance(b_key_2, six.binary_type)
self.assertEqual(b_key_1, b_key_2) self.assertEqual(b_key_1, b_key_2)
# And again with pycrypto if vault.HAS_PYCRYPTO:
b_key_3 = self.vault_cipher._create_key_pycrypto(b_password, b_salt, key_length=32, iv_length=16) # And again with pycrypto
self.assertIsInstance(b_key_3, six.binary_type) 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 # 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 # 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 # 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) 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.assertIsInstance(b_key_4, six.binary_type)
self.assertEqual(b_key_3, b_key_4) self.assertEqual(b_key_3, b_key_4)
self.assertEqual(b_key_1, 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): def test_create_key_known_pycrypto(self):
b_password = b'hunter42' b_password = b'hunter42'

View file

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