def METHOD_NAME(mocker, parametrize_skip_or_fail_return):
    test_config = config.Config(
        connector_image="foo",
        acceptance_tests=config.AcceptanceTestConfigurations(spec=config.GenericTestConfig(tests=[config.SpecTestConfig()])),
    )
    mocker.patch.object(plugin.pytest, "skip")
    mocker.patch.object(plugin.pytest, "fail")
    mocker.patch.object(plugin, "parametrize_skip_or_fail", mocker.Mock(return_value=parametrize_skip_or_fail_return))
    mocker.patch.object(plugin, "load_config", mocker.Mock(return_value=test_config))
    metafunc_mock = mocker.Mock(
        fixturenames=["inputs"],
        function=mocker.Mock(__name__="test_function"),
        cls=mocker.Mock(config_key=mocker.Mock(return_value="spec"), __name__="MyTest"),
    )
    plugin.pytest_generate_tests(metafunc_mock)
    action, reason = parametrize_skip_or_fail_return
    if action == PARAMETRIZE_ACTION:
        metafunc_mock.parametrize.assert_called_once_with("inputs", test_config.acceptance_tests.spec.tests)
    if action == SKIP_ACTION:
        plugin.pytest.skip.assert_called_once_with(reason)
    if action == FAIL_ACTION:
        plugin.pytest.fail.assert_called_once_with(reason)