This is an automated email from the ASF dual-hosted git repository. valdar pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit dc28e3b1b23c710e7bbdbf15296ee885cb7c398e Author: Andrea Tarocchi <andrea.taroc...@gmail.com> AuthorDate: Thu Feb 11 01:49:30 2021 +0100 fixed CAMEL-16182: test-infra modules don't support testcontainers hub.image.name.prefix configuration. --- .../camel/test/infra/artemis/services/ArtemisContainer.java | 8 ++++++-- .../org/apache/camel/test/infra/artemis/services/Dockerfile | 3 ++- .../java/org/apache/camel/test/infra/common/TestUtils.java | 11 +++++++++++ .../dispatch/router/services/DispatchRouterContainer.java | 8 ++++++-- .../camel/test/infra/dispatch/router/services/Dockerfile | 3 ++- .../test/infra/hdfs/v2/services/HadoopBaseContainer.java | 10 ++++++++-- .../org/apache/camel/test/infra/hdfs/v2/services/Dockerfile | 8 +++++--- 7 files changed, 40 insertions(+), 11 deletions(-) diff --git a/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisContainer.java b/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisContainer.java index 50353ed..d1fb6b4 100644 --- a/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisContainer.java +++ b/test-infra/camel-test-infra-artemis/src/test/java/org/apache/camel/test/infra/artemis/services/ArtemisContainer.java @@ -17,6 +17,7 @@ package org.apache.camel.test.infra.artemis.services; +import org.apache.camel.test.infra.common.TestUtils; import org.apache.camel.test.infra.messaging.services.MessagingContainer; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -27,11 +28,14 @@ public class ArtemisContainer extends GenericContainer<ArtemisContainer> impleme private static final int DEFAULT_AMQP_PORT = 5672; private static final int DEFAULT_ADMIN_PORT = 8161; private static final int DEFAULT_ACCEPTOR_PORT = 61616; + private static final String FROM_IMAGE_NAME = "fedora:33"; + private static final String FROM_IMAGE_ARG = "FROMIMAGE"; public ArtemisContainer() { - super(new ImageFromDockerfile("apache-artemis:ckc", false) + super(new ImageFromDockerfile("localhost/apache-artemis:ckc", false) .withFileFromClasspath("Dockerfile", - "org/apache/camel/test/infra/artemis/services/Dockerfile")); + "org/apache/camel/test/infra/artemis/services/Dockerfile") + .withBuildArg(FROM_IMAGE_ARG, TestUtils.prependHubImageNamePrefixIfNeeded(FROM_IMAGE_NAME))); withExposedPorts(DEFAULT_MQTT_PORT, DEFAULT_AMQP_PORT, DEFAULT_ADMIN_PORT, DEFAULT_ACCEPTOR_PORT); diff --git a/test-infra/camel-test-infra-artemis/src/test/resources/org/apache/camel/test/infra/artemis/services/Dockerfile b/test-infra/camel-test-infra-artemis/src/test/resources/org/apache/camel/test/infra/artemis/services/Dockerfile index f0b4a18..e366df4 100644 --- a/test-infra/camel-test-infra-artemis/src/test/resources/org/apache/camel/test/infra/artemis/services/Dockerfile +++ b/test-infra/camel-test-infra-artemis/src/test/resources/org/apache/camel/test/infra/artemis/services/Dockerfile @@ -12,7 +12,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -FROM fedora:33 as artemis-base +ARG FROMIMAGE +FROM $FROMIMAGE as artemis-base LABEL maintainer="orpi...@apache.org" ARG ARTEMIS_VERSION ENV ARTEMIS_VERSION ${ARTEMIS_VERSION:-2.7.0} diff --git a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestUtils.java b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestUtils.java index e2d3962..e679285 100644 --- a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestUtils.java +++ b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestUtils.java @@ -22,6 +22,7 @@ import java.util.function.Predicate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.testcontainers.utility.TestcontainersConfiguration; /** * Test utilities @@ -101,4 +102,14 @@ public final class TestUtils { return (int) (Math.random() * range) + min; } + + /** + * Prepend imageName with configured hub.image.name.prefix if any is configured in testcontainers + * + * @param imageName + * @return a String composed of hub.image.name.prefix as configured in testcontainers + imageName + */ + public static String prependHubImageNamePrefixIfNeeded(String imageName) { + return TestcontainersConfiguration.getInstance().getEnvVarOrProperty("hub.image.name.prefix", "") + imageName; + } } diff --git a/test-infra/camel-test-infra-dispatch-router/src/test/java/org/apache/camel/test/infra/dispatch/router/services/DispatchRouterContainer.java b/test-infra/camel-test-infra-dispatch-router/src/test/java/org/apache/camel/test/infra/dispatch/router/services/DispatchRouterContainer.java index c1e96b8..f55fc66 100644 --- a/test-infra/camel-test-infra-dispatch-router/src/test/java/org/apache/camel/test/infra/dispatch/router/services/DispatchRouterContainer.java +++ b/test-infra/camel-test-infra-dispatch-router/src/test/java/org/apache/camel/test/infra/dispatch/router/services/DispatchRouterContainer.java @@ -17,6 +17,7 @@ package org.apache.camel.test.infra.dispatch.router.services; +import org.apache.camel.test.infra.common.TestUtils; import org.apache.camel.test.infra.messaging.services.MessagingContainer; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -24,11 +25,14 @@ import org.testcontainers.images.builder.ImageFromDockerfile; public class DispatchRouterContainer extends GenericContainer<DispatchRouterContainer> implements MessagingContainer { private static final int DEFAULT_AMQP_PORT = 5672; + private static final String FROM_IMAGE_NAME = "fedora:33"; + private static final String FROM_IMAGE_ARG = "FROMIMAGE"; public DispatchRouterContainer() { - super(new ImageFromDockerfile("qpid-dispatch:camel", false) + super(new ImageFromDockerfile("localhost/qpid-dispatch:camel", false) .withFileFromClasspath("Dockerfile", - "org/apache/camel/test/infra/dispatch/router/services/Dockerfile")); + "org/apache/camel/test/infra/dispatch/router/services/Dockerfile") + .withBuildArg(FROM_IMAGE_ARG, TestUtils.prependHubImageNamePrefixIfNeeded(FROM_IMAGE_NAME))); withExposedPorts(DEFAULT_AMQP_PORT); diff --git a/test-infra/camel-test-infra-dispatch-router/src/test/resources/org/apache/camel/test/infra/dispatch/router/services/Dockerfile b/test-infra/camel-test-infra-dispatch-router/src/test/resources/org/apache/camel/test/infra/dispatch/router/services/Dockerfile index b70fe96..339ae7e 100644 --- a/test-infra/camel-test-infra-dispatch-router/src/test/resources/org/apache/camel/test/infra/dispatch/router/services/Dockerfile +++ b/test-infra/camel-test-infra-dispatch-router/src/test/resources/org/apache/camel/test/infra/dispatch/router/services/Dockerfile @@ -12,7 +12,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -FROM fedora:33 +ARG FROMIMAGE +FROM $FROMIMAGE LABEL maintainer="orpi...@apache.org" EXPOSE 5672 RUN dnf install -y qpid-dispatch-router && dnf clean all diff --git a/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HadoopBaseContainer.java b/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HadoopBaseContainer.java index 908602b..402599f 100644 --- a/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HadoopBaseContainer.java +++ b/test-infra/camel-test-infra-hdfs/src/test/java/org/apache/camel/test/infra/hdfs/v2/services/HadoopBaseContainer.java @@ -17,16 +17,22 @@ package org.apache.camel.test.infra.hdfs.v2.services; +import org.apache.camel.test.infra.common.TestUtils; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.Network; import org.testcontainers.images.builder.ImageFromDockerfile; abstract class HadoopBaseContainer<T extends GenericContainer<T>> extends GenericContainer<T> { + private static final String FROM_IMAGE_NAME = "fedora:33"; + private static final String FROM_IMAGE_BUILDER_ARG = "FROMIMAGE_BUILDER"; + private static final String FROM_IMAGE_ARG = "FROMIMAGE"; public HadoopBaseContainer(Network network, String name) { - super(new ImageFromDockerfile("hadoop-2x:ckc", false) + super(new ImageFromDockerfile("localhost/hadoop-2x:ckc", false) .withFileFromClasspath(".", - "org/apache/camel/test/infra/hdfs/v2/services/")); + "org/apache/camel/test/infra/hdfs/v2/services/") + .withBuildArg(FROM_IMAGE_BUILDER_ARG, TestUtils.prependHubImageNamePrefixIfNeeded(FROM_IMAGE_NAME)) + .withBuildArg(FROM_IMAGE_ARG, TestUtils.prependHubImageNamePrefixIfNeeded(FROM_IMAGE_NAME))); withNetwork(network); diff --git a/test-infra/camel-test-infra-hdfs/src/test/resources/org/apache/camel/test/infra/hdfs/v2/services/Dockerfile b/test-infra/camel-test-infra-hdfs/src/test/resources/org/apache/camel/test/infra/hdfs/v2/services/Dockerfile index bc99e76..1ed4497 100644 --- a/test-infra/camel-test-infra-hdfs/src/test/resources/org/apache/camel/test/infra/hdfs/v2/services/Dockerfile +++ b/test-infra/camel-test-infra-hdfs/src/test/resources/org/apache/camel/test/infra/hdfs/v2/services/Dockerfile @@ -12,8 +12,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - -FROM fedora:33 as builder +ARG FROMIMAGE_BUILDER +ARG FROMIMAGE +FROM ${FROMIMAGE_BUILDER} as builder ARG HADOOP_VERSION ENV HADOOP_VERSION ${HADOOP_VERSION:-2.10.0} RUN curl https://archive.apache.org/dist/hadoop/common/hadoop-${HADOOP_VERSION}/hadoop-${HADOOP_VERSION}.tar.gz -o hadoop.tar.gz @@ -23,7 +24,8 @@ ADD hdfs-site.xml /hadoop/etc/hadoop/hdfs-site.xml ADD run-datanode.sh /hadoop ADD run-namenode.sh /hadoop -FROM fedora:33 +ARG FROMIMAGE +FROM $FROMIMAGE LABEL maintainer="orpi...@apache.org" ARG HADOOP_VERSION ENV HADOOP_VERSION ${HADOOP_VERSION:-2.10.0}