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:51 UTC

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

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);