def METHOD_NAME(mock_config, headers, is_good):
    # flexmock config before import as it fails on looking for config
    flexmock(ServiceConfig).should_receive("get_service_config").and_return(
        flexmock(validate_webhooks=True)
    )
    from packit_service.service.api import webhooks
    webhooks.config = mock_config
    with Flask(__name__).test_request_context():
        payload = {"zen": "Keep it logically awesome."}
        request._cached_data = request.data = dumps(payload).encode()
        request.headers = headers
        if not is_good:
            with pytest.raises(ValidationFailed):
                webhooks.GithubWebhook.validate_signature()
        else:
            webhooks.GithubWebhook.validate_signature()