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

gnodet 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 fcd76cf6ecaa CAMEL-23431: Migrate small component tests from 
AvailablePortFinder to port-0 binding
fcd76cf6ecaa is described below

commit fcd76cf6ecaa7833c5b70dcb838c9a86175b1f53
Author: Guillaume Nodet <[email protected]>
AuthorDate: Thu May 7 17:41:13 2026 +0200

    CAMEL-23431: Migrate small component tests from AvailablePortFinder to 
port-0 binding
    
    - camel-jsch: ScpServerTestSupport uses SshServer.setPort(0) and reads the 
actual port via sshd.getPort() after start
    - camel-jsonpath: JsonPathPlatformHttpTest stores VertxPlatformHttpServer 
as a field and reads the port via server.getPort() after start
    - camel-vertx: VertxBaseTestSupport removes unused AvailablePortFinder 
field and dead getPort() method
    - camel-zookeeper-master: ZooKeeperGroupTest replaces 
AvailablePortFinder.getNextRandomAvailable() with ServerSocket(0) to find a 
free port atomically
---
 .../org/apache/camel/component/scp/ScpServerTestSupport.java |  8 ++------
 .../org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java  | 12 +++++-------
 .../apache/camel/component/vertx/VertxBaseTestSupport.java   |  9 ---------
 .../zookeepermaster/group/internal/ZooKeeperGroupTest.java   | 10 ++++++----
 4 files changed, 13 insertions(+), 26 deletions(-)

diff --git 
a/components/camel-jsch/src/test/java/org/apache/camel/component/scp/ScpServerTestSupport.java
 
b/components/camel-jsch/src/test/java/org/apache/camel/component/scp/ScpServerTestSupport.java
index f4ce3f33b57d..708847514f57 100644
--- 
a/components/camel-jsch/src/test/java/org/apache/camel/component/scp/ScpServerTestSupport.java
+++ 
b/components/camel-jsch/src/test/java/org/apache/camel/component/scp/ScpServerTestSupport.java
@@ -31,7 +31,6 @@ import com.jcraft.jsch.JSch;
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Session;
 import com.jcraft.jsch.UserInfo;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.sshd.common.NamedFactory;
 import org.apache.sshd.common.kex.KeyExchangeFactory;
@@ -44,7 +43,6 @@ import 
org.apache.sshd.server.auth.password.PasswordAuthenticator;
 import org.apache.sshd.server.auth.pubkey.PublickeyAuthenticator;
 import org.apache.sshd.server.session.ServerSession;
 import org.apache.sshd.sftp.server.SftpSubsystemFactory;
-import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -55,8 +53,6 @@ public abstract class ScpServerTestSupport extends 
CamelTestSupport {
     protected static final Logger LOG = 
LoggerFactory.getLogger(ScpServerTestSupport.class);
     protected static final String SCP_ROOT_DIR = "target/test-classes/scp";
     protected static final String KNOWN_HOSTS = "known_hosts";
-    @RegisterExtension
-    protected static AvailablePortFinder.Port port = 
AvailablePortFinder.find();
 
     protected Consumer<SshServer> serverConfigurer;
 
@@ -75,7 +71,7 @@ public abstract class ScpServerTestSupport extends 
CamelTestSupport {
     }
 
     protected int getPort() {
-        return port.getPort();
+        return sshd != null ? sshd.getPort() : 0;
     }
 
     protected SshServer getSshd() {
@@ -117,7 +113,7 @@ public abstract class ScpServerTestSupport extends 
CamelTestSupport {
 
     protected boolean startSshd() {
         sshd = SshServer.setUpDefaultServer();
-        sshd.setPort(getPort());
+        sshd.setPort(0);
         sshd.setKeyPairProvider(new 
FileKeyPairProvider(Paths.get("src/test/resources/hostkey.pem")));
         sshd.setSubsystemFactories(Arrays.asList(new SftpSubsystemFactory()));
         sshd.setCommandFactory(new ScpCommandFactory());
diff --git 
a/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java
 
b/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java
index a83af808f7df..0aae87a4bb00 100644
--- 
a/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java
+++ 
b/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java
@@ -23,10 +23,8 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer;
 import 
org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServerConfiguration;
 import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -36,13 +34,12 @@ class JsonPathPlatformHttpTest extends CamelTestSupport {
     public static final String JSON_PATH = "$.room[?(@.temperature > 20)]";
     public static final String RESULT = "HOT";
 
-    @RegisterExtension
-    static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+    private VertxPlatformHttpServer server;
 
     @Test
     public void testWithPlatformHttp() {
         String result = RestAssured.given()
-                .port(PORT.getPort())
+                .port(server.getPort())
                 .contentType(ContentType.JSON)
                 .body(BODY)
                 .post("/getTemperature")
@@ -65,9 +62,10 @@ class JsonPathPlatformHttpTest extends CamelTestSupport {
         CamelContext context = super.createCamelContext();
 
         VertxPlatformHttpServerConfiguration conf = new 
VertxPlatformHttpServerConfiguration();
-        conf.setBindPort(PORT.getPort());
+        conf.setBindPort(0);
 
-        context.addService(new VertxPlatformHttpServer(conf));
+        server = new VertxPlatformHttpServer(conf);
+        context.addService(server);
 
         return context;
 
diff --git 
a/components/camel-vertx/camel-vertx/src/test/java/org/apache/camel/component/vertx/VertxBaseTestSupport.java
 
b/components/camel-vertx/camel-vertx/src/test/java/org/apache/camel/component/vertx/VertxBaseTestSupport.java
index cdf648f1aa49..f6c66d2c23e2 100644
--- 
a/components/camel-vertx/camel-vertx/src/test/java/org/apache/camel/component/vertx/VertxBaseTestSupport.java
+++ 
b/components/camel-vertx/camel-vertx/src/test/java/org/apache/camel/component/vertx/VertxBaseTestSupport.java
@@ -16,21 +16,12 @@
  */
 package org.apache.camel.component.vertx;
 
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class VertxBaseTestSupport extends CamelTestSupport {
 
-    @RegisterExtension
-    static AvailablePortFinder.Port port = AvailablePortFinder.find();
-
     protected final Logger log = LoggerFactory.getLogger(getClass());
 
-    protected int getPort() {
-        return port.getPort();
-    }
-
 }
diff --git 
a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroupTest.java
 
b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroupTest.java
index 3dd745e8c3bc..120c78b62cea 100644
--- 
a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroupTest.java
+++ 
b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroupTest.java
@@ -18,13 +18,13 @@ package 
org.apache.camel.component.zookeepermaster.group.internal;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
+import java.net.ServerSocket;
 import java.util.List;
 import java.util.Map;
 
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.camel.component.zookeepermaster.group.NodeState;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.CuratorFrameworkFactory;
 import org.apache.curator.retry.RetryOneTime;
@@ -44,12 +44,14 @@ public class ZooKeeperGroupTest {
     private CuratorFramework curator;
     private ZooKeeperGroup<NodeState> group;
 
-    private int findFreePort() {
-        return AvailablePortFinder.getNextRandomAvailable();
+    private int findFreePort() throws IOException {
+        try (ServerSocket socket = new ServerSocket(0)) {
+            return socket.getLocalPort();
+        }
     }
 
     @BeforeEach
-    public void setUp() {
+    public void setUp() throws IOException {
         int port = findFreePort();
         curator = CuratorFrameworkFactory.builder()
                 .connectString("localhost:" + port)

Reply via email to