package org.testcontainers.utility;
import org.testcontainers.DockerClientFactory;
import org.testcontainers.dockerclient.DockerMachineClientProviderStrategy;
/**
* Provides utility methods for determining facts about the test environment.
*/
public class TestEnvironment {
private TestEnvironment() {
}
public static boolean dockerApiAtLeast(String minimumVersion) {
ComparableVersion min = new ComparableVersion(minimumVersion);
ComparableVersion current = new ComparableVersion(DockerClientFactory.instance().getActiveApiVersion());
return current.compareTo(min) >= 0;
}
public static boolean dockerExecutionDriverSupportsExec() {
String executionDriver = DockerClientFactory.instance().getActiveExecutionDriver();
// Could be null starting from Docker 1.13
return executionDriver == null || !executionDriver.startsWith("lxc");
}
public static boolean dockerIsDockerMachine() {
return DockerClientFactory.instance().isUsing(DockerMachineClientProviderStrategy.class);
}
}