예제 #1
0
def mock_settings_with_disabled_hooks(mocker, project_hooks, naughty_plugin):
    class MockSettings(_ProjectSettings):
        _HOOKS = Validator("HOOKS", default=(project_hooks,))
        _DISABLE_HOOKS_FOR_PLUGINS = Validator(
            "DISABLE_HOOKS_FOR_PLUGINS", default=(naughty_plugin.project_name,)
        )

    _mock_imported_settings_paths(mocker, MockSettings())
def mock_session_with_broken_before_node_run_hooks(mocker, project_hooks,
                                                   mock_package_name,
                                                   tmp_path):
    class BeforeNodeRunHook:
        """Should overwrite the `cars` dataset"""
        @hook_impl
        def before_node_run(self):
            return MockDatasetReplacement()

    class MockSettings(_ProjectSettings):
        _HOOKS = Validator("HOOKS",
                           default=(project_hooks, BeforeNodeRunHook()))

    _mock_imported_settings_paths(mocker, MockSettings())
    return KedroSession.create(mock_package_name, tmp_path)