示例#1
0
    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
示例#2
0
    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
示例#3
0
    def it_unsets_keys_and_triggers_garbage_collection_on_deauthentication(self, gc):
        data_source = DataSource('some_path')
        data_source._keys = [1, 2, 3]
        data_source.deauthenticate()

        gc.collect.assert_called_with()

        assert data_source._keys == []
        assert data_source.is_authenticated() is False
示例#4
0
    def it_unsets_keys_and_triggers_garbage_collection_on_deauthentication(
            self, gc):
        data_source = DataSource('some_path')
        data_source._keys = [1, 2, 3]
        data_source.deauthenticate()

        gc.collect.assert_called_with()

        assert data_source._keys == []
        assert data_source.is_authenticated() is False
示例#5
0
    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
示例#6
0
    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