/** * Ensures that an image name has a namespace prefix. * * An image pushed to a V1 registry without namespace prefix is processed in the * following way: <registry_name>/<repository_name> -> <registry_name>/library/<repository_name> * Results from V1 queries, however, do not contain the default prefix. This could be a problem * later when we instantiate containers based on these images. An image pushed to a V2 registry * does not get the default prefix. */ private void ensureNamespaceExists(Result result) { DockerImage image = DockerImage.fromImageName(result.name); if (image.getNamespace() == null) { result.name = String.format("%s/%s", DEFAULT_NAMESPACE, image.getRepository()); } }
@Test public void testDockerImageParsing() { DockerImage dockerImage = DockerImage.fromImageName(fullImageName); assertEquals(description + ": host", expectedHost, dockerImage.getHost()); assertEquals(description + ": namespace", expectedNamespace, dockerImage.getNamespace()); assertEquals(description + ": repository", expectedRepo, dockerImage.getRepository()); assertEquals(description + ": namespace and repo", expectedNamespaceAndRepo, dockerImage.getNamespaceAndRepo()); assertEquals(description + ": tag", expectedTag, dockerImage.getTag()); } }
String imagePath = image.getNamespace(); host.log(Level.FINE, "Image path: %s.", imagePath);