package com.github.dockerjava.utils;
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.command.CreateContainerResponse;
import com.github.dockerjava.api.command.InspectContainerResponse;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
/**
* Container cmd utils
*/
public class ContainerUtils {
private ContainerUtils() {
}
/**
* Starts container and ensures that it running
*
* @param dockerClient docker client
* @param container container
*/
public static void startContainer(DockerClient dockerClient, CreateContainerResponse container) {
dockerClient.startContainerCmd(container.getId()).exec();
InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container.getId()).exec();
assertThat(inspectContainerResponse.getState().getRunning(), is(true));
}
/**
* Pauses container and ensures that it paused
*
* @param dockerClient docker client
* @param container container
*/
public static void pauseContainer(DockerClient dockerClient, CreateContainerResponse container) {
dockerClient.pauseContainerCmd(container.getId()).exec();
InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container.getId()).exec();
assertThat(inspectContainerResponse.getState().getPaused(), is(true));
}
/**
* Stops container and ensures that it stopped
*
* @param dockerClient docker client
* @param container container
*/
public static void stopContainer(DockerClient dockerClient, CreateContainerResponse container) {
dockerClient.stopContainerCmd(container.getId()).exec();
InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container.getId()).exec();
assertThat(inspectContainerResponse.getState().getRunning(), is(false));
}
/**
* Unpauses container and ensures that it unpaused (running)
*
* @param dockerClient docker client
* @param container container
*/
public static void unpauseContainer(DockerClient dockerClient, CreateContainerResponse container) {
dockerClient.unpauseContainerCmd(container.getId()).exec();
InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container.getId()).exec();
assertThat(inspectContainerResponse.getState().getPaused(), is(false));
assertThat(inspectContainerResponse.getState().getRunning(), is(true));
}
}