Skip to content

Commit

Permalink
Changes following review comments from @bsideup
Browse files Browse the repository at this point in the history
  • Loading branch information
rnorth committed Jul 21, 2019
1 parent eafd5c3 commit 02df4e1
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 8 deletions.
27 changes: 20 additions & 7 deletions core/src/main/java/org/testcontainers/DockerClientFactory.java
Expand Up @@ -4,7 +4,12 @@
import com.github.dockerjava.api.command.CreateContainerCmd;
import com.github.dockerjava.api.exception.InternalServerErrorException;
import com.github.dockerjava.api.exception.NotFoundException;
import com.github.dockerjava.api.model.*;
import com.github.dockerjava.api.model.AccessMode;
import com.github.dockerjava.api.model.Bind;
import com.github.dockerjava.api.model.Image;
import com.github.dockerjava.api.model.Info;
import com.github.dockerjava.api.model.Version;
import com.github.dockerjava.api.model.Volume;
import com.github.dockerjava.core.command.ExecStartResultCallback;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableMap;
Expand All @@ -17,15 +22,20 @@
import org.rnorth.visibleassertions.VisibleAssertions;
import org.testcontainers.dockerclient.DockerClientProviderStrategy;
import org.testcontainers.dockerclient.DockerMachineClientProviderStrategy;
import org.testcontainers.images.TimeLimitedLoggedPullImageResultCallback;
import org.testcontainers.images.RemoteDockerImage;
import org.testcontainers.utility.ComparableVersion;
import org.testcontainers.utility.MountableFile;
import org.testcontainers.utility.ResourceReaper;
import org.testcontainers.utility.TestcontainersConfiguration;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.ServiceLoader;
import java.util.UUID;
import java.util.function.BiFunction;
import java.util.function.Consumer;

Expand Down Expand Up @@ -121,7 +131,7 @@ public DockerClient client() {
ryukContainerId = ResourceReaper.start(hostIpAddress, client);
log.info("Ryuk started - will monitor and terminate Testcontainers containers on JVM exit");
}

boolean checksEnabled = !TestcontainersConfiguration.getInstance().isDisableChecks();
if (checksEnabled) {
VisibleAssertions.info("Checking the system...");
Expand Down Expand Up @@ -209,13 +219,16 @@ private boolean checkMountableFile() {
}

/**
* Check whether the image is available locally and pull it otherwise
*/
* Check whether the image is available locally and pull it otherwise
*
* @deprecated to be made private
*/
@SneakyThrows
@Deprecated
public void checkAndPullImage(DockerClient client, String image) {
List<Image> images = client.listImagesCmd().withImageNameFilter(image).exec();
if (images.isEmpty()) {
client.pullImageCmd(image).exec(new TimeLimitedLoggedPullImageResultCallback(log)).awaitCompletion();
new RemoteDockerImage(image).get();
}
}

Expand Down
Expand Up @@ -22,7 +22,7 @@
* {@link PullImageResultCallback} with improved logging of pull progress and a 'watchdog' which will abort the pull
* if progress is not being made, to prevent a hanging test
*/
public class TimeLimitedLoggedPullImageResultCallback extends LoggedPullImageResultCallback {
class TimeLimitedLoggedPullImageResultCallback extends LoggedPullImageResultCallback {

private static final AtomicInteger THREAD_ID = new AtomicInteger(0);
private static final ScheduledExecutorService PROGRESS_WATCHDOG_EXECUTOR =
Expand Down

0 comments on commit 02df4e1

Please sign in to comment.