def it_re_encrypts_keys_when_password_is_changed(self, decrypt_key, encrypt_key, save_keys, get_keys): key3_encrypted = Mock() key3_decrypted = Mock() key3_reencrypted = Mock() key5_encrypted = Mock() key5_decrypted = Mock() key5_reencrypted = Mock() get_keys.return_value = [key3_encrypted, key5_encrypted] decrypt_key.side_effect = [key3_decrypted, key5_decrypted] encrypt_key.side_effect = [key3_reencrypted, key5_reencrypted] data_source = DataSource('some_path') data_source.authenticate('old_password') data_source.set_password('new_password') decrypt_key.assert_has_calls([ call(key3_encrypted, 'old_password'), call(key5_encrypted, 'old_password') ]) encrypt_key.assert_has_calls([ call(key3_decrypted, 'new_password'), call(key5_decrypted, 'new_password') ]) save_keys.assert_has_calls( [call(key3_reencrypted), call(key5_reencrypted)])
def it_fails_authentication_if_a_key_can_not_be_validated(self, get_keys, decrypt_key): get_keys.return_value = [Mock()] decrypt_key.side_effect = IncorrectPasswordException data_source = DataSource('some_path') data_source.authenticate('password') assert data_source.is_authenticated() is False
def it_fails_authentication_if_a_key_can_not_be_validated( self, get_keys, decrypt_key): get_keys.return_value = [Mock()] decrypt_key.side_effect = IncorrectPasswordException data_source = DataSource('some_path') data_source.authenticate('password') assert data_source.is_authenticated() is False
def it_authenticates_against_all_keys(self, get_keys, decrypt_key): key3 = Mock() key5 = Mock() get_keys.return_value = [key3, key5] data_source = DataSource('some_path') data_source.authenticate('password') decrypt_key.assert_has_calls([call(key3, 'password'), call(key5, 'password')]) assert data_source.is_authenticated() is True
def it_authenticates_against_all_keys(self, get_keys, decrypt_key): key3 = Mock() key5 = Mock() get_keys.return_value = [key3, key5] data_source = DataSource('some_path') data_source.authenticate('password') decrypt_key.assert_has_calls( [call(key3, 'password'), call(key5, 'password')]) assert data_source.is_authenticated() is True
def it_re_encrypts_keys_when_password_is_changed(self, decrypt_key, encrypt_key, save_keys, get_keys): key3_encrypted = Mock() key3_decrypted = Mock() key3_reencrypted = Mock() key5_encrypted = Mock() key5_decrypted = Mock() key5_reencrypted = Mock() get_keys.return_value = [key3_encrypted, key5_encrypted] decrypt_key.side_effect = [key3_decrypted, key5_decrypted] encrypt_key.side_effect = [key3_reencrypted, key5_reencrypted] data_source = DataSource('some_path') data_source.authenticate('old_password') data_source.set_password('new_password') decrypt_key.assert_has_calls([call(key3_encrypted, 'old_password'), call(key5_encrypted, 'old_password')]) encrypt_key.assert_has_calls([call(key3_decrypted, 'new_password'), call(key5_decrypted, 'new_password')]) save_keys.assert_has_calls([call(key3_reencrypted), call(key5_reencrypted)])