use of com.github.dockerjava.api.command.InspectImageResponse in project vespa by vespa-engine.
the class DockerImplTest method pullImageAsyncIfNeededSuccessfully.
@Test
@SuppressWarnings({ "unchecked", "rawtypes" })
public void pullImageAsyncIfNeededSuccessfully() {
final DockerImage image = new DockerImage("test:1.2.3");
InspectImageResponse inspectImageResponse = mock(InspectImageResponse.class);
when(inspectImageResponse.getId()).thenReturn(image.asString());
InspectImageCmd imageInspectCmd = mock(InspectImageCmd.class);
when(imageInspectCmd.exec()).thenThrow(new NotFoundException("Image not found")).thenReturn(inspectImageResponse);
// Array to make it final
ArgumentCaptor<ResultCallback> resultCallback = ArgumentCaptor.forClass(ResultCallback.class);
PullImageCmd pullImageCmd = mock(PullImageCmd.class);
when(pullImageCmd.exec(resultCallback.capture())).thenReturn(null);
final DockerClient dockerClient = mock(DockerClient.class);
when(dockerClient.inspectImageCmd(image.asString())).thenReturn(imageInspectCmd);
when(dockerClient.pullImageCmd(eq(image.asString()))).thenReturn(pullImageCmd);
final DockerImpl docker = new DockerImpl(dockerClient);
docker.setMetrics(new MetricReceiverWrapper(MetricReceiver.nullImplementation));
assertTrue("Should return true, we just scheduled the pull", docker.pullImageAsyncIfNeeded(image));
assertTrue("Should return true, the pull i still ongoing", docker.pullImageAsyncIfNeeded(image));
assertTrue(docker.imageIsDownloaded(image));
resultCallback.getValue().onComplete();
assertFalse(docker.pullImageAsyncIfNeeded(image));
}
use of com.github.dockerjava.api.command.InspectImageResponse in project elastest-torm by elastest.
the class EtmContextService method loadHelpInfoFromImages.
private void loadHelpInfoFromImages() {
List<String> imagesNames = Arrays.asList(etImages.split(","));
helpInfo = new HelpInfo();
imagesNames.forEach((imageName) -> {
try {
InspectImageResponse imageInfo = dockerService.getImageInfoByName(imageName);
VersionInfo imageVersionInfo = new VersionInfo(imageInfo.getConfig().getLabels().get("git_commit"), imageInfo.getConfig().getLabels().get("commit_date"), imageInfo.getConfig().getLabels().get("version"));
helpInfo.getVersionsInfo().put(imageName, imageVersionInfo);
} catch (Exception e) {
logger.error("Unable to retrieve ElasTest Help Information.");
}
});
}
use of com.github.dockerjava.api.command.InspectImageResponse in project elastest-torm by elastest.
the class DockerService2 method getImageInfoByName.
public InspectImageResponse getImageInfoByName(String imageName) {
InspectImageResponse response = null;
DockerClient dockerClient = getDockerClient();
if (imageExistsLocally(imageName, dockerClient)) {
try {
response = dockerClient.inspectImageCmd(imageName).exec();
} catch (Exception e) {
logger.error("Error loading image \"{}\" information.", imageName);
throw e;
}
}
return response;
}
use of com.github.dockerjava.api.command.InspectImageResponse in project tutorials by eugenp.
the class ImageLiveTest method givenListOfImages_whenInspectImage_thenMustReturnObject.
@Test
public void givenListOfImages_whenInspectImage_thenMustReturnObject() {
// given
List<Image> images = dockerClient.listImagesCmd().exec();
Image image = images.get(0);
// when
InspectImageResponse imageResponse = dockerClient.inspectImageCmd(image.getId()).exec();
// then
assertThat(imageResponse.getId(), is(image.getId()));
}
use of com.github.dockerjava.api.command.InspectImageResponse in project hub-docker-inspector by blackducksoftware.
the class DockerClientManager method getTarFileFromDockerImageById.
public File getTarFileFromDockerImageById(final String imageId) throws HubIntegrationException, IOException {
final File imageTarDirectory = new File(new File(programPaths.getHubDockerWorkingDirPath()), "tarDirectory");
final DockerClient dockerClient = hubDockerClient.getDockerClient();
final InspectImageCmd inspectImageCmd = dockerClient.inspectImageCmd(imageId);
final InspectImageResponse imageDetails = inspectImageCmd.exec();
final List<String> repoTags = imageDetails.getRepoTags();
if (repoTags.size() == 0) {
throw new HubIntegrationException(String.format("Unable to get image name:tag for image ID %s", imageId));
}
final ImageNameResolver resolver = new ImageNameResolver(repoTags.get(0));
final String imageName = resolver.getNewImageRepo().get();
final String tagName = resolver.getNewImageTag().get();
logger.info(String.format("Converted image ID %s to image name:tag %s:%s", imageId, imageName, tagName));
final File imageTarFile = saveImageToDir(imageTarDirectory, Names.getImageTarFilename(imageName, tagName), imageName, tagName);
return imageTarFile;
}
Aggregations