def test_key_length_respected(plaintext_message): """ Tests that encrypt_aes respects the key_length argument when generating a key. """ for key_length in [128, 256, 192]: _, key = encrypt_aes(plaintext_message, key_length) assert len(key) == key_length / 8
def password(self, value): assert AUTH_TYPES.get(self.provider) == 'Password' assert value is not None key_size = int(config.get('KEY_SIZE', 128)) self.password_aes, key = encrypt_aes(value, key_size) self.key = key[:len(key)/2] with open(self._keyfile, 'w+') as f: f.write(key[len(key)/2:])
def test_bad_key_lengths(plaintext_message): """ Tests that encrypt_aes throws a ValueError when passed a bad key length. """ with pytest.raises(ValueError): encrypt_aes(plaintext_message, 0) with pytest.raises(ValueError): encrypt_aes(plaintext_message, -1) with pytest.raises(ValueError): encrypt_aes(plaintext_message, 127)
def test_encrypt_decrypt(plaintext_message): """ Tests that encryption followed by decryption gives back the original message. """ assert decrypt_aes(*encrypt_aes(plaintext_message)) == plaintext_message