You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/03/21 17:37:50 UTC

(camel) branch main updated (4fcdb6c534b -> c0176ed1fd2)

This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


    from 4fcdb6c534b (chores) camel-langchain: use a consistent project name
     new 8b380a00ca6 (chores) camel-test-infra: use a consistent pattern for setting up containers
     new c0176ed1fd2 (chores) camel-test-infra: use a consistent pattern for naming container properties

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../infra/arangodb/services/ArangoDbContainer.java | 10 ++++----
 .../infra/artemis/services/ArtemisContainer.java   |  5 ++--
 .../test/infra/aws2/services/AWSContainer.java     |  4 +--
 .../azure/common/services/AzuriteContainer.java    |  5 ++--
 .../router/services/DispatchRouterContainer.java   |  5 ++--
 .../test/infra/kafka/common/KafkaProperties.java   |  4 +--
 .../services/ContainerLocalAuthKafkaService.java   |  5 ++--
 .../infra/kafka/services/StrimziContainer.java     | 29 ++++++++++------------
 .../infra/kafka/services/ZookeeperContainer.java   | 16 +++++-------
 .../test/infra/kafka/services/container.properties |  4 +--
 .../infra/ollama/services/OllamaContainer.java     |  9 ++++---
 .../infra/qdrant/services/QdrantContainer.java     |  6 ++---
 .../infra/xmpp/services/XmppServerContainer.java   | 10 ++++----
 .../zookeeper/services/ZooKeeperContainer.java     | 12 ++++-----
 14 files changed, 57 insertions(+), 67 deletions(-)


(camel) 02/02: (chores) camel-test-infra: use a consistent pattern for naming container properties

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c0176ed1fd222a2cd607029df7a01966282ec7dd
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Mar 21 14:31:46 2024 +0100

    (chores) camel-test-infra: use a consistent pattern for naming container properties
---
 .../org/apache/camel/test/infra/kafka/common/KafkaProperties.java     | 4 ++--
 .../org/apache/camel/test/infra/kafka/services/container.properties   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/common/KafkaProperties.java b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/common/KafkaProperties.java
index f693c5ba0d2..d5c4faf420f 100644
--- a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/common/KafkaProperties.java
+++ b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/common/KafkaProperties.java
@@ -23,8 +23,8 @@ public final class KafkaProperties {
     public static final String KAFKA_CONTAINER = "kafka.container";
     public static final String KAFKA3_CONTAINER = "kafka3.container";
     public static final String KAFKA2_CONTAINER = "kafka2.container";
-    public static final String REDPANDA_CONTAINER = "itest.redpanda.container.image";
-    public static final String STRIMZI_CONTAINER = "itest.strimzi.container.image";
+    public static final String REDPANDA_CONTAINER = "redpanda.container.image";
+    public static final String STRIMZI_CONTAINER = "strimzi.container.image";
 
     private KafkaProperties() {
 
diff --git a/test-infra/camel-test-infra-kafka/src/test/resources/org/apache/camel/test/infra/kafka/services/container.properties b/test-infra/camel-test-infra-kafka/src/test/resources/org/apache/camel/test/infra/kafka/services/container.properties
index faf9e95ea8b..dba01260994 100644
--- a/test-infra/camel-test-infra-kafka/src/test/resources/org/apache/camel/test/infra/kafka/services/container.properties
+++ b/test-infra/camel-test-infra-kafka/src/test/resources/org/apache/camel/test/infra/kafka/services/container.properties
@@ -16,5 +16,5 @@
 ## ---------------------------------------------------------------------------
 kafka3.container=confluentinc/cp-kafka:7.4.0
 kafka2.container=confluentinc/cp-kafka:5.5.12
-itest.redpanda.container.image=docker.redpanda.com/vectorized/redpanda:v23.1.1
-itest.strimzi.container.image=quay.io/strimzi/kafka:latest-kafka-3.5.1
\ No newline at end of file
+redpanda.container.image=docker.redpanda.com/vectorized/redpanda:v23.1.1
+strimzi.container.image=quay.io/strimzi/kafka:latest-kafka-3.5.1
\ No newline at end of file


(camel) 01/02: (chores) camel-test-infra: use a consistent pattern for setting up containers

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 8b380a00ca6c2c5f16c9e6df30ba445030d05977
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Mar 21 14:30:45 2024 +0100

    (chores) camel-test-infra: use a consistent pattern for setting up containers
---
 .../infra/arangodb/services/ArangoDbContainer.java | 10 ++++----
 .../infra/artemis/services/ArtemisContainer.java   |  5 ++--
 .../test/infra/aws2/services/AWSContainer.java     |  4 +--
 .../azure/common/services/AzuriteContainer.java    |  5 ++--
 .../router/services/DispatchRouterContainer.java   |  5 ++--
 .../services/ContainerLocalAuthKafkaService.java   |  5 ++--
 .../infra/kafka/services/StrimziContainer.java     | 29 ++++++++++------------
 .../infra/kafka/services/ZookeeperContainer.java   | 16 +++++-------
 .../infra/ollama/services/OllamaContainer.java     |  9 ++++---
 .../infra/qdrant/services/QdrantContainer.java     |  6 ++---
 .../infra/xmpp/services/XmppServerContainer.java   | 10 ++++----
 .../zookeeper/services/ZooKeeperContainer.java     | 12 ++++-----
 12 files changed, 53 insertions(+), 63 deletions(-)

diff --git a/test-infra/camel-test-infra-arangodb/src/test/java/org/apache/camel/test/infra/arangodb/services/ArangoDbContainer.java b/test-infra/camel-test-infra-arangodb/src/test/java/org/apache/camel/test/infra/arangodb/services/ArangoDbContainer.java
index 591f6d91d7c..cb114d2b36a 100644
--- a/test-infra/camel-test-infra-arangodb/src/test/java/org/apache/camel/test/infra/arangodb/services/ArangoDbContainer.java
+++ b/test-infra/camel-test-infra-arangodb/src/test/java/org/apache/camel/test/infra/arangodb/services/ArangoDbContainer.java
@@ -24,7 +24,7 @@ import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.containers.output.Slf4jLogConsumer;
 import org.testcontainers.containers.wait.strategy.Wait;
 
-public class ArangoDbContainer extends GenericContainer {
+public class ArangoDbContainer extends GenericContainer<ArangoDbContainer> {
     public static final Integer PORT_DEFAULT = 8529;
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ArangoDbContainer.class);
@@ -40,10 +40,10 @@ public class ArangoDbContainer extends GenericContainer {
 
         setWaitStrategy(Wait.forListeningPort());
         addFixedExposedPort(PORT_DEFAULT, PORT_DEFAULT);
-        withNetworkAliases(CONTAINER_NAME);
-        withEnv(ARANGO_NO_AUTH, "1");
-        withLogConsumer(new Slf4jLogConsumer(LOGGER));
-        waitingFor(Wait.forLogMessage(".*is ready for business. Have fun!.*", 1));
+        withNetworkAliases(CONTAINER_NAME)
+                .withEnv(ARANGO_NO_AUTH, "1")
+                .withLogConsumer(new Slf4jLogConsumer(LOGGER))
+                .waitingFor(Wait.forLogMessage(".*is ready for business. Have fun!.*", 1));
     }
 
     public int getServicePort() {
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 2665a9d8595..ebfa1007457 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
@@ -37,9 +37,8 @@ public class ArtemisContainer extends GenericContainer<ArtemisContainer> impleme
                 .withBuildArg(FROM_IMAGE_ARG, TestUtils.prependHubImageNamePrefixIfNeeded(FROM_IMAGE_NAME)));
 
         withExposedPorts(DEFAULT_MQTT_PORT, DEFAULT_AMQP_PORT,
-                DEFAULT_ADMIN_PORT, DEFAULT_ACCEPTOR_PORT);
-
-        waitingFor(Wait.forListeningPort());
+                DEFAULT_ADMIN_PORT, DEFAULT_ACCEPTOR_PORT)
+                .waitingFor(Wait.forListeningPort());
     }
 
     /**
diff --git a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSContainer.java b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSContainer.java
index c278c02abd9..fe6a5b5d7f0 100644
--- a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSContainer.java
+++ b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSContainer.java
@@ -81,8 +81,8 @@ public class AWSContainer extends GenericContainer<AWSContainer> {
     }
 
     protected void setupContainer() {
-        withExposedPorts(SERVICE_PORT);
-        waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
+        withExposedPorts(SERVICE_PORT)
+                .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
     }
 
     public AwsCredentialsProvider getCredentialsProvider() {
diff --git a/test-infra/camel-test-infra-azure-common/src/test/java/org/apache/camel/test/infra/azure/common/services/AzuriteContainer.java b/test-infra/camel-test-infra-azure-common/src/test/java/org/apache/camel/test/infra/azure/common/services/AzuriteContainer.java
index 9c0da04c50b..8d77160e3e6 100644
--- a/test-infra/camel-test-infra-azure-common/src/test/java/org/apache/camel/test/infra/azure/common/services/AzuriteContainer.java
+++ b/test-infra/camel-test-infra-azure-common/src/test/java/org/apache/camel/test/infra/azure/common/services/AzuriteContainer.java
@@ -37,9 +37,8 @@ public class AzuriteContainer extends GenericContainer<AzuriteContainer> {
     public AzuriteContainer(String containerName) {
         super(containerName);
 
-        withExposedPorts(AzureServices.BLOB_SERVICE, AzureServices.QUEUE_SERVICE);
-
-        waitingFor(Wait.forListeningPort());
+        withExposedPorts(AzureServices.BLOB_SERVICE, AzureServices.QUEUE_SERVICE)
+                .waitingFor(Wait.forListeningPort());
     }
 
     public AzureCredentialsHolder azureCredentials() {
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 3f8dfdc5891..99fb01a3ecf 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
@@ -34,9 +34,8 @@ public class DispatchRouterContainer extends GenericContainer<DispatchRouterCont
                         "org/apache/camel/test/infra/dispatch/router/services/Dockerfile")
                 .withBuildArg(FROM_IMAGE_ARG, TestUtils.prependHubImageNamePrefixIfNeeded(FROM_IMAGE_NAME)));
 
-        withExposedPorts(DEFAULT_AMQP_PORT);
-
-        waitingFor(Wait.forListeningPort());
+        withExposedPorts(DEFAULT_AMQP_PORT)
+                .waitingFor(Wait.forListeningPort());
     }
 
     /**
diff --git a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/ContainerLocalAuthKafkaService.java b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/ContainerLocalAuthKafkaService.java
index 951d6c8cfa5..1d878169cb1 100644
--- a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/ContainerLocalAuthKafkaService.java
+++ b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/ContainerLocalAuthKafkaService.java
@@ -40,9 +40,8 @@ public class ContainerLocalAuthKafkaService implements KafkaService, ContainerSe
 
             final MountableFile mountableFile = MountableFile.forClasspathResource(jaasConfigFile);
             LOG.debug("Using mountable file at: {}", mountableFile.getFilesystemPath());
-            withCopyFileToContainer(mountableFile, "/tmp/kafka-jaas.config");
-
-            withEnv("KAFKA_OPTS", "-Djava.security.auth.login.config=/tmp/kafka-jaas.config")
+            withCopyFileToContainer(mountableFile, "/tmp/kafka-jaas.config")
+                    .withEnv("KAFKA_OPTS", "-Djava.security.auth.login.config=/tmp/kafka-jaas.config")
                     .withEnv("KAFKA_LISTENERS", "PLAINTEXT://0.0.0.0:9093,BROKER://0.0.0.0:9092")
                     .withEnv("KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL", "PLAIN")
                     .withEnv("KAFKA_LISTENER_SECURITY_PROTOCOL_MAP", "PLAINTEXT:SASL_PLAINTEXT,BROKER:PLAINTEXT")
diff --git a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/StrimziContainer.java b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/StrimziContainer.java
index f17ca954c15..11264409726 100644
--- a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/StrimziContainer.java
+++ b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/StrimziContainer.java
@@ -37,22 +37,19 @@ public class StrimziContainer extends GenericContainer<StrimziContainer> {
     public StrimziContainer(Network network, String name, String containerName, String zookeeperInstanceName) {
         super(containerName);
 
-        withEnv("LOG_DIR", "/tmp/logs");
-        withExposedPorts(KAFKA_PORT);
-        withEnv("KAFKA_ADVERTISED_LISTENERS", String.format("PLAINTEXT://%s:9092", getHost()));
-        withEnv("KAFKA_LISTENERS", "PLAINTEXT://0.0.0.0:9092");
-        withEnv("KAFKA_ZOOKEEPER_CONNECT", zookeeperInstanceName + ":2181");
-        withNetwork(network);
-
-        withCreateContainerCmdModifier(createContainerCmd -> setupContainer(name, createContainerCmd));
-
-        withCommand("sh", "-c",
-                "bin/kafka-server-start.sh config/server.properties "
-                                + "--override listeners=${KAFKA_LISTENERS} "
-                                + "--override advertised.listeners=${KAFKA_ADVERTISED_LISTENERS} "
-                                + "--override zookeeper.connect=${KAFKA_ZOOKEEPER_CONNECT}");
-
-        waitingFor(Wait.forListeningPort());
+        withEnv("LOG_DIR", "/tmp/logs")
+                .withExposedPorts(KAFKA_PORT)
+                .withEnv("KAFKA_ADVERTISED_LISTENERS", String.format("PLAINTEXT://%s:9092", getHost()))
+                .withEnv("KAFKA_LISTENERS", "PLAINTEXT://0.0.0.0:9092")
+                .withEnv("KAFKA_ZOOKEEPER_CONNECT", zookeeperInstanceName + ":2181")
+                .withNetwork(network)
+                .withCreateContainerCmdModifier(createContainerCmd -> setupContainer(name, createContainerCmd))
+                .withCommand("sh", "-c",
+                        "bin/kafka-server-start.sh config/server.properties "
+                                         + "--override listeners=${KAFKA_LISTENERS} "
+                                         + "--override advertised.listeners=${KAFKA_ADVERTISED_LISTENERS} "
+                                         + "--override zookeeper.connect=${KAFKA_ZOOKEEPER_CONNECT}")
+                .waitingFor(Wait.forListeningPort());
     }
 
     private void setupContainer(String name, CreateContainerCmd createContainerCmd) {
diff --git a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/ZookeeperContainer.java b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/ZookeeperContainer.java
index d2af19a7380..42b999ee42b 100644
--- a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/ZookeeperContainer.java
+++ b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/ZookeeperContainer.java
@@ -33,16 +33,12 @@ public class ZookeeperContainer extends GenericContainer<ZookeeperContainer> {
     public ZookeeperContainer(Network network, String name, String containerName) {
         super(containerName);
 
-        withEnv("LOG_DIR", "/tmp/logs");
-        withExposedPorts(ZOOKEEPER_PORT);
-        withNetwork(network);
-
-        withCreateContainerCmdModifier(createContainerCmd -> setupContainer(name, createContainerCmd));
-
-        withCommand("sh", "-c",
-                "bin/zookeeper-server-start.sh config/zookeeper.properties");
-
-        waitingFor(Wait.forListeningPort());
+        withEnv("LOG_DIR", "/tmp/logs")
+                .withExposedPorts(ZOOKEEPER_PORT)
+                .withNetwork(network)
+                .withCreateContainerCmdModifier(createContainerCmd -> setupContainer(name, createContainerCmd))
+                .withCommand("sh", "-c", "bin/zookeeper-server-start.sh config/zookeeper.properties")
+                .waitingFor(Wait.forListeningPort());
     }
 
     private void setupContainer(String name, CreateContainerCmd createContainerCmd) {
diff --git a/test-infra/camel-test-infra-ollama/src/test/java/org/apache/camel/test/infra/ollama/services/OllamaContainer.java b/test-infra/camel-test-infra-ollama/src/test/java/org/apache/camel/test/infra/ollama/services/OllamaContainer.java
index ac94bc3809d..cff7bb1717f 100644
--- a/test-infra/camel-test-infra-ollama/src/test/java/org/apache/camel/test/infra/ollama/services/OllamaContainer.java
+++ b/test-infra/camel-test-infra-ollama/src/test/java/org/apache/camel/test/infra/ollama/services/OllamaContainer.java
@@ -43,10 +43,11 @@ public class OllamaContainer extends GenericContainer<OllamaContainer> {
         this.port = port;
         this.model = model;
         this.imageName = imageName;
-        withExposedPorts(port);
-        withImagePullPolicy(dockerImageName -> !dockerImageName.getVersionPart().endsWith(model));
-        setWaitStrategy(Wait.forListeningPort());
-        withLogConsumer(new Slf4jLogConsumer(LOGGER));
+
+        withExposedPorts(port)
+                .withImagePullPolicy(dockerImageName -> !dockerImageName.getVersionPart().endsWith(model))
+                .withLogConsumer(new Slf4jLogConsumer(LOGGER))
+                .setWaitStrategy(Wait.forListeningPort());
     }
 
     @Override
diff --git a/test-infra/camel-test-infra-qdrant/src/test/java/org/apache/camel/test/infra/qdrant/services/QdrantContainer.java b/test-infra/camel-test-infra-qdrant/src/test/java/org/apache/camel/test/infra/qdrant/services/QdrantContainer.java
index 0ff5439ee51..c6e41ba3dbb 100644
--- a/test-infra/camel-test-infra-qdrant/src/test/java/org/apache/camel/test/infra/qdrant/services/QdrantContainer.java
+++ b/test-infra/camel-test-infra-qdrant/src/test/java/org/apache/camel/test/infra/qdrant/services/QdrantContainer.java
@@ -34,9 +34,9 @@ public class QdrantContainer extends GenericContainer<QdrantContainer> {
     protected void configure() {
         super.configure();
 
-        withExposedPorts(HTTP_PORT, GRPC_PORT);
-        withLogConsumer(new Slf4jLogConsumer(LoggerFactory.getLogger(QdrantContainer.class)));
-        waitingFor(Wait.forLogMessage(".*Actix runtime found; starting in Actix runtime.*", 1));
+        withExposedPorts(HTTP_PORT, GRPC_PORT)
+                .withLogConsumer(new Slf4jLogConsumer(LoggerFactory.getLogger(QdrantContainer.class)))
+                .waitingFor(Wait.forLogMessage(".*Actix runtime found; starting in Actix runtime.*", 1));
     }
 
     public String getGrpcHost() {
diff --git a/test-infra/camel-test-infra-xmpp/src/test/java/org/apache/camel/test/infra/xmpp/services/XmppServerContainer.java b/test-infra/camel-test-infra-xmpp/src/test/java/org/apache/camel/test/infra/xmpp/services/XmppServerContainer.java
index 3fe142cbc9a..1ba12e250b9 100644
--- a/test-infra/camel-test-infra-xmpp/src/test/java/org/apache/camel/test/infra/xmpp/services/XmppServerContainer.java
+++ b/test-infra/camel-test-infra-xmpp/src/test/java/org/apache/camel/test/infra/xmpp/services/XmppServerContainer.java
@@ -28,7 +28,7 @@ import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.containers.output.Slf4jLogConsumer;
 import org.testcontainers.containers.wait.strategy.Wait;
 
-public class XmppServerContainer extends GenericContainer {
+public class XmppServerContainer extends GenericContainer<XmppServerContainer> {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(XmppServerContainer.class);
     private static final String CONTAINER_NAME = "vysper-wrapper";
@@ -37,10 +37,10 @@ public class XmppServerContainer extends GenericContainer {
     public XmppServerContainer() {
         super(LocalPropertyResolver.getProperty(XmppServerContainer.class, XmppProperties.XMPP_CONTAINER));
         setWaitStrategy(Wait.forListeningPort());
-        withExposedPorts(XmppProperties.PORT_DEFAULT, PORT_REST);
-        withNetworkAliases(CONTAINER_NAME);
-        withLogConsumer(new Slf4jLogConsumer(LOGGER));
-        waitingFor(Wait.forLogMessage(".*Started Application in.*", 1));
+        withExposedPorts(XmppProperties.PORT_DEFAULT, PORT_REST)
+                .withNetworkAliases(CONTAINER_NAME)
+                .withLogConsumer(new Slf4jLogConsumer(LOGGER))
+                .waitingFor(Wait.forLogMessage(".*Started Application in.*", 1));
     }
 
     public String getUrl() {
diff --git a/test-infra/camel-test-infra-zookeeper/src/test/java/org/apache/camel/test/infra/zookeeper/services/ZooKeeperContainer.java b/test-infra/camel-test-infra-zookeeper/src/test/java/org/apache/camel/test/infra/zookeeper/services/ZooKeeperContainer.java
index 9f667e6aa19..02fe5436b44 100644
--- a/test-infra/camel-test-infra-zookeeper/src/test/java/org/apache/camel/test/infra/zookeeper/services/ZooKeeperContainer.java
+++ b/test-infra/camel-test-infra-zookeeper/src/test/java/org/apache/camel/test/infra/zookeeper/services/ZooKeeperContainer.java
@@ -22,7 +22,7 @@ import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.containers.output.Slf4jLogConsumer;
 import org.testcontainers.containers.wait.strategy.Wait;
 
-public class ZooKeeperContainer extends GenericContainer {
+public class ZooKeeperContainer extends GenericContainer<ZooKeeperContainer> {
     public static final String CONTAINER_NAME = "zookeeper";
     public static final int CLIENT_PORT = 2181;
 
@@ -41,9 +41,9 @@ public class ZooKeeperContainer extends GenericContainer {
 
         setWaitStrategy(Wait.forListeningPort());
 
-        withNetworkAliases(name);
-        withExposedPorts(CLIENT_PORT);
-        withLogConsumer(new Slf4jLogConsumer(LOGGER));
+        withNetworkAliases(name)
+                .withExposedPorts(CLIENT_PORT)
+                .withLogConsumer(new Slf4jLogConsumer(LOGGER));
     }
 
     public ZooKeeperContainer(String name, int clientPort) {
@@ -51,8 +51,8 @@ public class ZooKeeperContainer extends GenericContainer {
 
         setWaitStrategy(Wait.forListeningPort());
 
-        withNetworkAliases(name);
-        withLogConsumer(new Slf4jLogConsumer(LOGGER));
+        withNetworkAliases(name)
+                .withLogConsumer(new Slf4jLogConsumer(LOGGER));
 
         if (clientPort > 0) {
             addFixedExposedPort(clientPort, CLIENT_PORT);