def METHOD_NAME(
    token: str, auth_config: _AuthConfig, tmp_path: Path
) -> Callable[..., Client]:
    def go(
        url_str: str,
        *,
        registry_url: str = "https://registry-dev.neu.ro",
        trace_id: str = "bd7a977555f6b982",
        clusters: Optional[Dict[str, Cluster]] = None,
        projects: Optional[Dict[Project.Key, Project]] = None,
        token_url: Optional[URL] = None,
        plugin_manager: Optional[PluginManager] = None,
        org_name: Optional[str] = None,
        project_name: Optional[str] = None,
    ) -> Client:
        url = URL(url_str)
        if clusters is None:
            cluster_config = Cluster(
                registry_url=URL(registry_url),
                monitoring_url=(url / "jobs"),
                storage_url=(url / "storage"),
                users_url=url,
                secrets_url=(url / "secrets"),
                disks_url=(url / "disks"),
                buckets_url=(url / "buckets"),
                presets={
                    "gpu-small": Preset(
                        credits_per_hour=Decimal("10"),
                        cpu=7,
                        memory=30 * 2**30,
                        gpu=1,
                        gpu_model="nvidia-tesla-k80",
                    ),
                    "gpu-large": Preset(
                        credits_per_hour=Decimal("10"),
                        cpu=7,
                        memory=60 * 2**30,
                        gpu=1,
                        gpu_model="nvidia-tesla-v100",
                    ),
                    "cpu-small": Preset(
                        credits_per_hour=Decimal("10"), cpu=7, memory=2 * 2**30
                    ),
                    "cpu-large": Preset(
                        credits_per_hour=Decimal("10"), cpu=7, memory=14 * 2**30
                    ),
                },
                name="default",
                orgs=[org_name],
            )
            clusters = {cluster_config.name: cluster_config}
        if projects is None:
            projects = {}
            for cluster in clusters.values():
                project = Project(
                    cluster_name=cluster.name,
                    org_name=cluster.orgs[0],
                    name="test-project",
                    role="owner",
                )
                projects[project.key] = project
            project_name = "test-project"
        if token_url is not None:
            real_auth_config = replace(auth_config, token_url=token_url)
        else:
            real_auth_config = auth_config
        if plugin_manager is None:
            plugin_manager = PluginManager()
        cluster_name = next(iter(clusters))
        config = _ConfigData(
            auth_config=real_auth_config,
            auth_token=_AuthToken.create_non_expiring(token),
            url=URL(url),
            admin_url=URL(url) / ".." / ".." / "apis" / "admin" / "v1",
            version=__version__,
            cluster_name=cluster_name,
            org_name=clusters[cluster_name].orgs[0],
            project_name=project_name,
            clusters=clusters,
            projects=projects or {},
        )
        config_dir = tmp_path / ".neuro"
        _save(config, config_dir)
        session = aiohttp.ClientSession(trace_configs=[_make_trace_config()])
        return Client._create(
            session,
            config_dir,
            trace_id,
            None,
            plugin_manager=plugin_manager,
        )
    return go