def METHOD_NAME(
    tmp_path: Path, basic_config_dict, invalid_config_dict, basic_routes
):
    config = tmp_path / "config.yaml"
    save_yaml(config, basic_config_dict)
    with Gateway(config) as gateway:
        response = gateway.get(BASE_ROUTE)
        assert response.json()["routes"] == basic_routes
        # Give filewatch a moment to cycle
        gateway.wait_reload()
        # push an invalid config
        save_yaml(config, invalid_config_dict)
        gateway.assert_health()
        # ensure that filewatch has run through the aborted config change logic
        gateway.wait_reload()
        gateway.assert_health()
        response = gateway.get(BASE_ROUTE)
        assert response.json()["routes"] == basic_routes