async def test_ls_repositories(self, aiohttp_server: _TestServerFactory, make_client: _MakeClient) -> None: JSON = {"repositories": ["bob/alpine", "jill/bananas"]} async def handler(request: web.Request) -> web.Response: return web.json_response(JSON) app = web.Application() app.router.add_get("/v2/_catalog", handler) srv = await aiohttp_server(app) url = "http://platform" registry_url = srv.make_url("/v2/") async with make_client(url, registry_url=registry_url) as client: ret = await client.images.ls() registry = _get_url_authority(registry_url) assert registry is not None assert set(ret) == { RemoteImage.new_neuro_image( "alpine", tag=None, owner="bob", cluster_name="default", registry=registry, ), RemoteImage.new_neuro_image( "bananas", tag=None, owner="jill", cluster_name="default", registry=registry, ), }
def test_get_url_authority_without_host() -> None: url = URL("scheme://") assert _get_url_authority(url) is None
def test_get_url_authority_without_port() -> None: url = URL("scheme://example.com/") # here `url.port is None` assert _get_url_authority(url) == "example.com"
def test_get_url_authority_with_implicit_port() -> None: url = URL("http://example.com/") # here `url.port == 80` assert _get_url_authority(url) == "example.com"
def test_get_url_authority_with_explicit_port() -> None: url = URL("http://example.com:8080/") assert _get_url_authority(url) == "example.com:8080"