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

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


The following commit(s) were added to refs/heads/main by this push:
     new 8fc9eff3e787 chore(test-infra): add some comment to clarify container 
closure responsibility
8fc9eff3e787 is described below

commit 8fc9eff3e787e71fa8ed4e44265abfaa00514b29
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Wed Dec 3 10:16:30 2025 +0100

    chore(test-infra): add some comment to clarify container closure 
responsibility
    
    Additionally fixed a few minor compilation warnings.
---
 .../services/ChatScriptLocalContainerInfraService.java  |  6 ++++--
 .../services/ConsulLocalContainerInfraService.java      | 14 ++++++++------
 .../services/MosquittoLocalContainerInfraService.java   |  6 ++++--
 .../camel/test/infra/redis/services/RedisContainer.java | 17 +++--------------
 .../camel/test/infra/solr/services/SolrContainer.java   |  4 +++-
 5 files changed, 22 insertions(+), 25 deletions(-)

diff --git 
a/test-infra/camel-test-infra-chatscript/src/main/java/org/apache/camel/test/infra/chatscript/services/ChatScriptLocalContainerInfraService.java
 
b/test-infra/camel-test-infra-chatscript/src/main/java/org/apache/camel/test/infra/chatscript/services/ChatScriptLocalContainerInfraService.java
index 67cfa3598200..48b4c8ed4be3 100644
--- 
a/test-infra/camel-test-infra-chatscript/src/main/java/org/apache/camel/test/infra/chatscript/services/ChatScriptLocalContainerInfraService.java
+++ 
b/test-infra/camel-test-infra-chatscript/src/main/java/org/apache/camel/test/infra/chatscript/services/ChatScriptLocalContainerInfraService.java
@@ -31,14 +31,16 @@ import org.testcontainers.containers.GenericContainer;
 public class ChatScriptLocalContainerInfraService implements 
ChatScriptInfraService, ContainerService<GenericContainer<?>> {
     private static final Logger LOG = 
LoggerFactory.getLogger(ChatScriptLocalContainerInfraService.class);
     private static final int SERVICE_PORT = 1024;
-    private GenericContainer<?> container;
+    private final GenericContainer<?> container;
 
+    @SuppressWarnings("resource")
+    // NOTE: all resources will be closed by close().
     public ChatScriptLocalContainerInfraService() {
         String containerName = LocalPropertyResolver.getProperty(
                 ChatScriptLocalContainerInfraService.class,
                 ChatScriptProperties.CHATSCRIPT_CONTAINER);
 
-        container = new GenericContainer<>(containerName)
+        container = new GenericContainer<>(containerName) // NOSONAR
                 .withExposedPorts(SERVICE_PORT)
                 .withCreateContainerCmdModifier(createContainerCmd -> 
createContainerCmd.withTty(true));
         String name = ContainerEnvironmentUtil.containerName(this.getClass());
diff --git 
a/test-infra/camel-test-infra-consul/src/main/java/org/apache/camel/test/infra/consul/services/ConsulLocalContainerInfraService.java
 
b/test-infra/camel-test-infra-consul/src/main/java/org/apache/camel/test/infra/consul/services/ConsulLocalContainerInfraService.java
index b903b4aa29c4..25b8a248e2bc 100644
--- 
a/test-infra/camel-test-infra-consul/src/main/java/org/apache/camel/test/infra/consul/services/ConsulLocalContainerInfraService.java
+++ 
b/test-infra/camel-test-infra-consul/src/main/java/org/apache/camel/test/infra/consul/services/ConsulLocalContainerInfraService.java
@@ -29,12 +29,12 @@ import org.testcontainers.containers.wait.strategy.Wait;
 @InfraService(service = ConsulInfraService.class,
               description = "Consul is a service networking solution",
               serviceAlias = { "consul" })
-public class ConsulLocalContainerInfraService implements ConsulInfraService, 
ContainerService<GenericContainer> {
+public class ConsulLocalContainerInfraService implements ConsulInfraService, 
ContainerService<GenericContainer<?>> {
     public static final String CONTAINER_NAME = "consul";
 
     private static final Logger LOG = 
LoggerFactory.getLogger(ConsulLocalContainerInfraService.class);
 
-    private final GenericContainer container;
+    private final GenericContainer<?> container;
 
     public ConsulLocalContainerInfraService() {
         this(LocalPropertyResolver.getProperty(
@@ -46,12 +46,14 @@ public class ConsulLocalContainerInfraService implements 
ConsulInfraService, Con
         container = initContainer(containerName, CONTAINER_NAME);
     }
 
-    public ConsulLocalContainerInfraService(GenericContainer container) {
+    public ConsulLocalContainerInfraService(GenericContainer<?> container) {
         this.container = container;
     }
 
-    protected GenericContainer initContainer(String imageName, String 
containerName) {
-        return new GenericContainer(imageName)
+    @SuppressWarnings("resource")
+    // NOTE: factoring method. The object must be closed by client.
+    protected GenericContainer<?> initContainer(String imageName, String 
containerName) {
+        return new GenericContainer<>(imageName) // NOSONAR
                 .withNetworkAliases(containerName)
                 .withExposedPorts(Consul.DEFAULT_HTTP_PORT)
                 .waitingFor(Wait.forLogMessage(".*Synced node info.*", 1))
@@ -81,7 +83,7 @@ public class ConsulLocalContainerInfraService implements 
ConsulInfraService, Con
     }
 
     @Override
-    public GenericContainer getContainer() {
+    public GenericContainer<?> getContainer() {
         return container;
     }
 
diff --git 
a/test-infra/camel-test-infra-mosquitto/src/main/java/org/apache/camel/test/infra/mosquitto/services/MosquittoLocalContainerInfraService.java
 
b/test-infra/camel-test-infra-mosquitto/src/main/java/org/apache/camel/test/infra/mosquitto/services/MosquittoLocalContainerInfraService.java
index d3cb89fe329f..38cb6e791c8b 100644
--- 
a/test-infra/camel-test-infra-mosquitto/src/main/java/org/apache/camel/test/infra/mosquitto/services/MosquittoLocalContainerInfraService.java
+++ 
b/test-infra/camel-test-infra-mosquitto/src/main/java/org/apache/camel/test/infra/mosquitto/services/MosquittoLocalContainerInfraService.java
@@ -64,15 +64,17 @@ public class MosquittoLocalContainerInfraService implements 
MosquittoInfraServic
         this.container = container;
     }
 
+    @SuppressWarnings("resource")
+    // NOTE: the object must be closed by the client.
     protected GenericContainer<?> initContainer(String imageName, Integer 
port) {
         GenericContainer<?> ret;
 
         if (port == null) {
-            ret = new GenericContainer(imageName)
+            ret = new GenericContainer<>(imageName) // NOSONAR
                     .withExposedPorts(CONTAINER_PORT);
         } else {
             @SuppressWarnings("deprecation")
-            GenericContainer<?> fixedPortContainer = new 
FixedHostPortGenericContainer(imageName)
+            GenericContainer<?> fixedPortContainer = new 
FixedHostPortGenericContainer<>(imageName) // NOSONAR
                     .withFixedExposedPort(port, CONTAINER_PORT);
             ret = fixedPortContainer;
         }
diff --git 
a/test-infra/camel-test-infra-redis/src/main/java/org/apache/camel/test/infra/redis/services/RedisContainer.java
 
b/test-infra/camel-test-infra-redis/src/main/java/org/apache/camel/test/infra/redis/services/RedisContainer.java
index b14470b13d88..dc7301846002 100644
--- 
a/test-infra/camel-test-infra-redis/src/main/java/org/apache/camel/test/infra/redis/services/RedisContainer.java
+++ 
b/test-infra/camel-test-infra-redis/src/main/java/org/apache/camel/test/infra/redis/services/RedisContainer.java
@@ -38,21 +38,10 @@ public class RedisContainer extends 
GenericContainer<RedisContainer> {
         super(DockerImageName.parse(imageName));
     }
 
+    @SuppressWarnings("resource")
+    // NOTE: the object must be closed by the client.
     public static RedisContainer initContainer(String imageName, String 
networkAlias, boolean fixedPort) {
-        class TestInfraRedisContainer extends RedisContainer {
-            public TestInfraRedisContainer() {
-                super(imageName);
-                waitingFor(Wait.forListeningPort());
-
-                if (fixedPort) {
-                    addFixedExposedPort(RedisProperties.DEFAULT_PORT, 
RedisProperties.DEFAULT_PORT);
-                } else {
-                    withNetworkAliases(networkAlias)
-                            .withExposedPorts(RedisProperties.DEFAULT_PORT);
-                }
-            }
-        }
-        return new RedisContainer(imageName)
+        return new RedisContainer(imageName) // NOSONAR
                 .withNetworkAliases(networkAlias)
                 .withExposedPorts(RedisProperties.DEFAULT_PORT)
                 .waitingFor(Wait.forListeningPort());
diff --git 
a/test-infra/camel-test-infra-solr/src/main/java/org/apache/camel/test/infra/solr/services/SolrContainer.java
 
b/test-infra/camel-test-infra-solr/src/main/java/org/apache/camel/test/infra/solr/services/SolrContainer.java
index 1e2526fd01c9..c22f200fc1e1 100644
--- 
a/test-infra/camel-test-infra-solr/src/main/java/org/apache/camel/test/infra/solr/services/SolrContainer.java
+++ 
b/test-infra/camel-test-infra-solr/src/main/java/org/apache/camel/test/infra/solr/services/SolrContainer.java
@@ -48,8 +48,10 @@ public class SolrContainer extends 
GenericContainer<SolrContainer> {
         super(DockerImageName.parse(imageName));
     }
 
+    @SuppressWarnings("resource")
+    // NOTE: the object must be closed by the client.
     public static SolrContainer initContainer(String networkAlias, boolean 
fixedPort) {
-        SolrContainer solrContainer = new SolrContainer()
+        SolrContainer solrContainer = new SolrContainer() // NOSONAR
                 .withNetworkAliases(networkAlias)
                 .withEnv("SOLR_OPTS", 
"-Dsolr.environment=test,label=camel-solr-test-infra,color=sandybrown")
                 .withEnv("GC_LOG_OPTS", "-verbose:")

Reply via email to