From eaf893a74737d877aeb4e6cd267a8018203a632d Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Sat, 17 Jun 2023 21:05:11 +0200 Subject: [PATCH] Prevent accidental image pulls in getDockerArchitectureInfo Prevents unwanted image pulls like one fixed by f0b8a4b13cdc58e04ebad35d584895610d7a8241. --- .../java/io/trino/testing/containers/ConditionalPullPolicy.java | 2 +- .../main/java/io/trino/testing/containers/TestContainers.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/testing/trino-testing-containers/src/main/java/io/trino/testing/containers/ConditionalPullPolicy.java b/testing/trino-testing-containers/src/main/java/io/trino/testing/containers/ConditionalPullPolicy.java index 5aebfd692c23..058cc9373776 100644 --- a/testing/trino-testing-containers/src/main/java/io/trino/testing/containers/ConditionalPullPolicy.java +++ b/testing/trino-testing-containers/src/main/java/io/trino/testing/containers/ConditionalPullPolicy.java @@ -22,7 +22,7 @@ public class ConditionalPullPolicy implements ImagePullPolicy { - private static final boolean TESTCONTAINERS_NEVER_PULL = "true".equalsIgnoreCase(getenv("TESTCONTAINERS_NEVER_PULL")); + public static final boolean TESTCONTAINERS_NEVER_PULL = "true".equalsIgnoreCase(getenv("TESTCONTAINERS_NEVER_PULL")); private static final ImagePullPolicy defaultPolicy = PullPolicy.defaultPolicy(); @Override diff --git a/testing/trino-testing-containers/src/main/java/io/trino/testing/containers/TestContainers.java b/testing/trino-testing-containers/src/main/java/io/trino/testing/containers/TestContainers.java index ba9d0061c671..03330b35f54c 100644 --- a/testing/trino-testing-containers/src/main/java/io/trino/testing/containers/TestContainers.java +++ b/testing/trino-testing-containers/src/main/java/io/trino/testing/containers/TestContainers.java @@ -31,6 +31,7 @@ import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Strings.padEnd; import static com.google.common.collect.ImmutableList.toImmutableList; +import static io.trino.testing.containers.ConditionalPullPolicy.TESTCONTAINERS_NEVER_PULL; import static java.lang.Boolean.parseBoolean; import static java.lang.System.getenv; import static java.util.Locale.ENGLISH; @@ -85,6 +86,7 @@ public static void exposeFixedPorts(GenericContainer container) public static DockerArchitectureInfo getDockerArchitectureInfo(DockerImageName imageName) { + checkState(!TESTCONTAINERS_NEVER_PULL, "Cannot get arch for image %s without pulling it, and pulling is forbidden", imageName); DockerClient client = DockerClientFactory.lazyClient(); if (!imageExists(client, imageName)) { pullImage(client, imageName);