def go(url_str: str, registry_url: str = "https://registry-dev.neu.ro") -> Client: url = URL(url_str) cluster_config = _ClusterConfig( registry_url=URL(registry_url), monitoring_url=(url / "jobs"), storage_url=(url / "storage"), users_url=url, resource_presets={ "gpu-small": Preset( cpu=7, memory_mb=30 * 1024, gpu=1, gpu_model="nvidia-tesla-k80" ), "gpu-large": Preset( cpu=7, memory_mb=60 * 1024, gpu=1, gpu_model="nvidia-tesla-v100" ), "cpu-small": Preset(cpu=7, memory_mb=2 * 1024), "cpu-large": Preset(cpu=7, memory_mb=14 * 1024), }, ) config = _Config( auth_config=auth_config, auth_token=_AuthToken.create_non_expiring(token), pypi=_PyPIVersion.create_uninitialized(), url=URL(url), cluster_config=cluster_config, cookie_session=_CookieSession.create_uninitialized(), version=neuromation.__version__, ) connector = aiohttp.TCPConnector() return Client._create(connector, config)
def nmrc_path(tmp_path: Path, token: str, auth_config: _AuthConfig) -> Path: nmrc_path = tmp_path / "conftest.nmrc" cluster_config = _ClusterConfig.create( registry_url=URL("https://registry-dev.neu.ro"), storage_url=URL("https://storage-dev.neu.ro"), users_url=URL("https://users-dev.neu.ro"), monitoring_url=URL("https://monitoring-dev.neu.ro"), resource_presets={ "gpu-small": Preset(cpu=7, memory_mb=30 * 1024, gpu=1, gpu_model="nvidia-tesla-k80"), "gpu-large": Preset(cpu=7, memory_mb=60 * 1024, gpu=1, gpu_model="nvidia-tesla-v100"), "cpu-small": Preset(cpu=7, memory_mb=2 * 1024), "cpu-large": Preset(cpu=7, memory_mb=14 * 1024), }, ) config = _Config( auth_config=auth_config, auth_token=_AuthToken.create_non_expiring(token), cluster_config=cluster_config, pypi=_PyPIVersion.create_uninitialized(), url=URL("https://dev.neu.ro/api/v1"), cookie_session=_CookieSession.create_uninitialized(), version=neuromation.__version__, ) Factory(nmrc_path)._save(config) return nmrc_path
def _create_config( nmrc_path: Path, token: str, auth_config: _AuthConfig, cluster_config: _ClusterConfig, ) -> str: config = _Config( auth_config=auth_config, auth_token=_AuthToken.create_non_expiring(token), cluster_config=cluster_config, pypi=_PyPIVersion.create_uninitialized(), url=URL("https://dev.neu.ro/api/v1"), cookie_session=_CookieSession.create_uninitialized(), version=neuromation.__version__, ) Factory(nmrc_path)._save(config) assert nmrc_path.exists() return token
def test_check_initialized_bad_cluster_config(self) -> None: auth_config_bad = _AuthConfig.create( auth_url=URL("auth_url"), token_url=URL("http://token"), client_id="client-id", audience="everyone", headless_callback_url=URL("https://dev.neu.ro/oauth/show-code"), ) assert auth_config_bad.is_initialized() cluster_config_good = _ClusterConfig.create( registry_url=URL(), # empty storage_url=URL("http://value"), users_url=URL("http://value"), monitoring_url=URL("http://value"), resource_presets={"default": Preset(cpu=1, memory_mb=2 * 1024)}, ) assert not cluster_config_good.is_initialized() config = _Config( auth_config=auth_config_bad, auth_token=_AuthToken( token="token", expiration_time=10, refresh_token="ok" ), cluster_config=cluster_config_good, pypi=_PyPIVersion( pypi_version="1.2.3", check_timestamp=20, certifi_pypi_version="3.4.5", certifi_check_timestamp=40, ), url=URL("https://dev.neu.ro"), cookie_session=_CookieSession.create_uninitialized(), version=neuromation.__version__, ) with pytest.raises(ValueError, match="Missing server configuration"): config.check_initialized()