def test_get_provider_xor(self): kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 provider, method = kf._get_provider('xor') assert isinstance(provider, XorProvider) assert provider._XorProvider__key == b'x' * 32 assert method == 'xor'
def test_get_provider_aes(self): kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 provider, method = kf._get_provider('aes') assert isinstance(provider, AesProvider) assert provider._AesProvider__key == b'x' * 32 assert method == 'aes'
def test_decrypt(self): provider = StubProvider() kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 kf._get_provider = MagicMock(return_value=provider) text = kf.decrypt(SecureValue('test', b'hello')) provider.decrypt.assert_called_once_with(b'hello') kf._get_provider.assert_called_once_with('test') assert text == b'plaintext'
def test_encrypt(self): provider = StubProvider() kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 kf._get_provider = MagicMock(return_value=provider) secret = kf.encrypt('hello', 'test') provider.encrypt.assert_called_once_with(b'hello') kf._get_provider.assert_called_once_with('test') assert secret == SecureValue('test', b'ciphertext')
def test_get_provider_unknown(self): kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 with pytest.raises(TypeError): kf._get_provider('balh')
def test_get_provider_xor(self): kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 p = kf._get_provider('xor') assert isinstance(p, XorProvider) assert p._XorProvider__key == b'x' * 32
def test_get_provider_aes(self): kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 p = kf._get_provider('aes') assert isinstance(p, AesProvider) assert p._AesProvider__key == b'x' * 32
def test_encrypt_best_xor(self): kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 assert isinstance(kf._get_provider(method='best'), XorProvider)
def test_get_provider_no_key(self): kf = KeyFile('asdf.txt') with pytest.raises(TypeError): kf._get_provider('xor')
def test_encrypt_best_aes(self): kf = KeyFile('asdf.txt') kf._KeyFile__key = b'x' * 32 provider, method = kf._get_provider(method='best') assert isinstance(provider, AesProvider) assert method == 'aes'