You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2026/03/20 10:11:15 UTC
(camel) 01/03: CAMEL-23214: Migrate AvailablePortFinder in camel-platform-http, camel-jetty, camel-coap, camel-undertow tests
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch CAMEL-23214-port-http-servers
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 507734e8d1e042817178497a2e26a05b46054362
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 20 05:23:18 2026 +0100
CAMEL-23214: Migrate AvailablePortFinder in camel-platform-http, camel-jetty, camel-coap, camel-undertow tests
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../java/org/apache/camel/coap/CoAPCORSTest.java | 2 +-
.../camel/coap/CoAPComponentTLSTestBase.java | 72 ++++++++-----
.../org/apache/camel/coap/CoAPComponentTest.java | 8 +-
.../camel/coap/CoAPRestComponentTestBase.java | 16 +--
.../apache/camel/coap/CoAPRestContextPathTest.java | 2 +-
.../org/apache/camel/coap/CoAPRestVerbTest.java | 2 +-
.../org/apache/camel/coap/CoAPTestSupport.java | 6 +-
.../jetty/JettyBridgeHostHeaderIssueTest.java | 58 ++++++-----
.../jetty/JettyFailoverRoundRobinTest.java | 34 +++---
.../component/jetty/JettyValidatorStreamTest.java | 10 +-
...alidatorStreamWithStreamCachingEnabledTest.java | 10 +-
.../camel/component/jetty/JettyValidatorTest.java | 12 +--
.../component/jetty/JettyXsltHttpTemplateTest.java | 10 +-
.../camel/component/jetty/JettyXsltTest.java | 10 +-
.../jetty/SpringFailoverRoundRobinTest.java | 28 ++---
.../jetty/rest/RestJettyRedirectTest.java | 12 ++-
.../http/main/MainHttpServerRouteTest.java | 8 +-
.../http/main/ManagementHttpServerTest.java | 8 +-
.../RestOpenApiCodeFirstOnExceptionIssueTest.java | 8 +-
...stOpenApiContractFirstOnExceptionIssueTest.java | 8 +-
.../vertx/VertxPlatformHttpAuthenticationTest.java | 8 +-
.../http/vertx/VertxPlatformHttpCookieTest.java | 10 +-
.../http/vertx/VertxPlatformHttpEngineTest.java | 115 +++++++++++----------
.../vertx/VertxPlatformHttpNoBodyHandlerTest.java | 8 +-
.../vertx/VertxPlatformHttpPooledExchangeTest.java | 12 ++-
.../http/vertx/VertxPlatformHttpProxyTest.java | 8 +-
.../http/vertx/VertxPlatformHttpSessionTest.java | 15 +--
.../vertx/VertxPlatformHttpSharedVertxTest.java | 6 +-
.../http/vertx/VertxPlatformHttpsProxyTest.java | 19 ++--
.../VertxPlatformMultipleContentTypeTest.java | 13 ++-
.../camel/component/undertow/BaseUndertowTest.java | 30 +++---
.../undertow/UndertowHttpProducerSessionTest.java | 12 +--
.../undertow/UndertowMethodRestricTest.java | 8 +-
33 files changed, 327 insertions(+), 261 deletions(-)
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
index 38a3dfa8670c..c02facda7f6c 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
@@ -43,7 +43,7 @@ public class CoAPCORSTest extends CoAPTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- restConfiguration().component("coap").port(PORT).enableCORS(true);
+ restConfiguration().component("coap").port(PORT.getPort()).enableCORS(true);
rest().get("/rest").to("direct:rest");
from("direct:rest").setBody(constant(COAP_RESPONSE));
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java
index f7479a21747b..17de5e952920 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java
@@ -45,19 +45,28 @@ import org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier
import org.eclipse.californium.scandium.dtls.x509.StaticNewAdvancedCertificateVerifier;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
abstract class CoAPComponentTLSTestBase extends CamelTestSupport {
- private static final int PORT = AvailablePortFinder.getNextAvailable();
- private static final int PORT2 = AvailablePortFinder.getNextAvailable();
- private static final int PORT3 = AvailablePortFinder.getNextAvailable();
- private static final int PORT4 = AvailablePortFinder.getNextAvailable();
- private static final int PORT5 = AvailablePortFinder.getNextAvailable();
- private static final int PORT6 = AvailablePortFinder.getNextAvailable();
- private static final int PORT7 = AvailablePortFinder.getNextAvailable();
- private static final int PORT8 = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT2 = AvailablePortFinder.find();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT3 = AvailablePortFinder.find();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT4 = AvailablePortFinder.find();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT5 = AvailablePortFinder.find();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT6 = AvailablePortFinder.find();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT7 = AvailablePortFinder.find();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT8 = AvailablePortFinder.find();
@ParameterizedTest
@ValueSource(strings = { "direct:start", "direct:selfsigned", /*"direct:clientauth",*/ "direct:ciphersuites" })
@@ -200,68 +209,74 @@ abstract class CoAPComponentTLSTestBase extends CamelTestSupport {
@Override
public void configure() {
- fromF(getProtocol() + "://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters", PORT)
+ fromF(getProtocol() + "://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters",
+ PORT.getPort())
.transform(body().prepend("Hello "));
fromF(getProtocol()
+ "://localhost:%d/TestResource?alias=selfsigned&sslContextParameters=#selfSignedServiceSSLContextParameters",
- PORT2)
+ PORT2.getPort())
.transform(body().prepend("Hello "));
fromF(getProtocol()
+ "://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters&cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
- PORT4)
+ PORT4.getPort())
.transform(body().prepend("Hello "));
from("direct:start")
.toF(getProtocol() + "://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters",
- PORT)
+ PORT.getPort())
.to("mock:result");
- from("direct:notruststore").toF(getProtocol() + "://localhost:%d/TestResource", PORT).to("mock:result");
+ from("direct:notruststore").toF(getProtocol() + "://localhost:%d/TestResource", PORT.getPort())
+ .to("mock:result");
from("direct:failedtrust")
.toF(getProtocol() + "://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters2",
- PORT)
+ PORT.getPort())
.to("mock:result");
from("direct:selfsigned")
.toF(getProtocol()
- + "://localhost:%d/TestResource?sslContextParameters=#selfSignedClientSSLContextParameters", PORT2)
+ + "://localhost:%d/TestResource?sslContextParameters=#selfSignedClientSSLContextParameters",
+ PORT2.getPort())
.to("mock:result");
from("direct:clientauth")
.toF(getProtocol()
- + "://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters", PORT3)
+ + "://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters",
+ PORT3.getPort())
.to("mock:result");
from("direct:failedclientauth")
.toF(getProtocol()
+ "://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters2",
- PORT3)
+ PORT3.getPort())
.to("mock:result");
from("direct:ciphersuites")
.toF(getProtocol()
+ "://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters&cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
- PORT4)
+ PORT4.getPort())
.to("mock:result");
if (isRPKSupported()) {
- fromF(getProtocol() + "://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey", PORT5)
+ fromF(getProtocol() + "://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey",
+ PORT5.getPort())
.transform(body().prepend("Hello "));
fromF(getProtocol()
+ "://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey&clientAuthentication=NEEDED&advancedCertificateVerifier=#advancedCertificateVerifier",
- PORT6).transform(body().prepend("Hello "));
+ PORT6.getPort()).transform(body().prepend("Hello "));
from("direct:rpk")
.toF(getProtocol()
+ "://localhost:%d/TestResource?advancedCertificateVerifier=#advancedCertificateVerifier",
- PORT5)
+ PORT5.getPort())
.to("mock:result");
- from("direct:rpknotruststore").toF(getProtocol() + "://localhost:%d/TestResource", PORT5).to("mock:result");
+ from("direct:rpknotruststore").toF(getProtocol() + "://localhost:%d/TestResource", PORT5.getPort())
+ .to("mock:result");
// from("direct:rpkfailedtrust")
// .toF(getProtocol()
@@ -272,33 +287,34 @@ abstract class CoAPComponentTLSTestBase extends CamelTestSupport {
from("direct:rpkclientauth")
.toF(getProtocol()
+ "://localhost:%d/TestResource?advancedCertificateVerifier=#advancedCertificateVerifier&privateKey=#privateKey&publicKey=#publicKey",
- PORT6)
+ PORT6.getPort())
.to("mock:result");
}
if (isPSKSupported()) {
- fromF(getProtocol() + "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", PORT7)
+ fromF(getProtocol() + "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", PORT7.getPort())
.transform(body().prepend("Hello "));
fromF(getProtocol()
+ "://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters&advancedPskStore=#advancedPskStore",
- PORT8)
+ PORT8.getPort())
.transform(body().prepend("Hello "));
from("direct:psk")
- .toF(getProtocol() + "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", PORT7)
+ .toF(getProtocol() + "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore",
+ PORT7.getPort())
.to("mock:result");
from("direct:pskciphersuite")
.toF(getProtocol()
+ "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore&cipherSuites=TLS_PSK_WITH_AES_128_GCM_SHA256",
- PORT7)
+ PORT7.getPort())
.to("mock:result");
from("direct:pskx509")
.toF(getProtocol()
+ "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore&sslContextParameters=#clientSSLContextParameters",
- PORT8)
+ PORT8.getPort())
.to("mock:result");
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
index 7e1c268a5643..275395d13fe7 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
@@ -26,12 +26,14 @@ import org.eclipse.californium.core.CoapResponse;
import org.eclipse.californium.core.coap.CoAP;
import org.eclipse.californium.core.coap.MediaTypeRegistry;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CoAPComponentTest extends CoAPTestSupport {
- protected static final int TCP_PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port TCP_PORT = AvailablePortFinder.find();
@Produce("direct:start")
protected ProducerTemplate sender;
@@ -74,12 +76,12 @@ public class CoAPComponentTest extends CoAPTestSupport {
public void configure() {
fromF("coap://localhost:%d/TestResource", PORT).convertBodyTo(String.class).transform(body().prepend("Hello "));
- fromF("coap+tcp://localhost:%d/TestResource", TCP_PORT).convertBodyTo(String.class)
+ fromF("coap+tcp://localhost:%d/TestResource", TCP_PORT.getPort()).convertBodyTo(String.class)
.transform(body().prepend("Hello "));
from("direct:start").toF("coap://localhost:%d/TestResource", PORT).to("mock:result");
- from("direct:starttcp").toF("coap+tcp://localhost:%d/TestResource", TCP_PORT).to("mock:result");
+ from("direct:starttcp").toF("coap+tcp://localhost:%d/TestResource", TCP_PORT.getPort()).to("mock:result");
}
};
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTestBase.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTestBase.java
index c0748812a51a..8e2b22c3b968 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTestBase.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTestBase.java
@@ -33,11 +33,13 @@ import org.eclipse.californium.core.coap.CoAP.ResponseCode;
import org.eclipse.californium.core.coap.MediaTypeRegistry;
import org.eclipse.californium.elements.config.Configuration;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
abstract class CoAPRestComponentTestBase extends CamelTestSupport {
- static int coapport = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port coapport = AvailablePortFinder.find();
@Produce("direct:start")
protected ProducerTemplate sender;
@@ -48,7 +50,7 @@ abstract class CoAPRestComponentTestBase extends CamelTestSupport {
CoapClient client;
CoapResponse rsp;
- client = new CoapClient(getProtocol() + "://localhost:" + coapport + "/TestResource/Ducky");
+ client = new CoapClient(getProtocol() + "://localhost:" + coapport.getPort() + "/TestResource/Ducky");
decorateClient(client);
rsp = client.get();
assertEquals(ResponseCode.CONTENT, rsp.getCode());
@@ -57,7 +59,7 @@ abstract class CoAPRestComponentTestBase extends CamelTestSupport {
assertEquals(ResponseCode.CONTENT, rsp.getCode());
assertEquals("Hello Ducky: data", rsp.getResponseText());
- client = new CoapClient(getProtocol() + "://localhost:" + coapport + "/TestParams?id=Ducky");
+ client = new CoapClient(getProtocol() + "://localhost:" + coapport.getPort() + "/TestParams?id=Ducky");
decorateClient(client);
client.setTimeout(1000000L);
rsp = client.get();
@@ -72,7 +74,7 @@ abstract class CoAPRestComponentTestBase extends CamelTestSupport {
@Test
void testCoAPMethodNotAllowedResponse() throws Exception {
Configuration.createStandardWithoutFile();
- CoapClient client = new CoapClient(getProtocol() + "://localhost:" + coapport + "/TestResource/Ducky");
+ CoapClient client = new CoapClient(getProtocol() + "://localhost:" + coapport.getPort() + "/TestResource/Ducky");
decorateClient(client);
client.setTimeout(1000000L);
CoapResponse rsp = client.delete();
@@ -82,7 +84,7 @@ abstract class CoAPRestComponentTestBase extends CamelTestSupport {
@Test
void testCoAPNotFoundResponse() throws Exception {
Configuration.createStandardWithoutFile();
- CoapClient client = new CoapClient(getProtocol() + "://localhost:" + coapport + "/foo/bar/cheese");
+ CoapClient client = new CoapClient(getProtocol() + "://localhost:" + coapport.getPort() + "/foo/bar/cheese");
decorateClient(client);
client.setTimeout(1000000L);
CoapResponse rsp = client.get();
@@ -125,7 +127,7 @@ abstract class CoAPRestComponentTestBase extends CamelTestSupport {
@Override
public void configure() {
RestConfigurationDefinition restConfig
- = restConfiguration().scheme(getProtocol()).host("localhost").port(coapport);
+ = restConfiguration().scheme(getProtocol()).host("localhost").port(coapport.getPort());
decorateRestConfiguration(restConfig);
rest("/TestParams").get().to("direct:get1").post().to("direct:post1");
@@ -144,7 +146,7 @@ abstract class CoAPRestComponentTestBase extends CamelTestSupport {
exchange.getMessage().setHeader(CoAPConstants.CONTENT_TYPE, ct);
});
- from("direct:start").toF(getClientURI(), coapport).to("mock:result");
+ from("direct:start").toF(getClientURI(), coapport.getPort()).to("mock:result");
}
};
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
index 6ec9633a2e0e..c8e8071fa7bd 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
@@ -39,7 +39,7 @@ public class CoAPRestContextPathTest extends CoAPTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- restConfiguration().host("localhost").port(PORT).contextPath("/rest/services");
+ restConfiguration().host("localhost").port(PORT.getPort()).contextPath("/rest/services");
rest("/test").get("/a").to("direct:a");
from("direct:a").setBody(constant("GET: /test/a"));
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
index 9656ce5dd419..0de80b3fe08d 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
@@ -84,7 +84,7 @@ public class CoAPRestVerbTest extends CoAPTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- restConfiguration().component("coap").host("localhost").port(PORT);
+ restConfiguration().component("coap").host("localhost").port(PORT.getPort());
rest()
.get("/users").to("direct:users")
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
index bf7a692e1c99..3862c91976c6 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
@@ -21,10 +21,12 @@ import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.util.FileUtil;
import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.elements.config.Configuration;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class CoAPTestSupport extends CamelTestSupport {
- protected static final int PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
@Override
public void doPostSetup() {
@@ -32,7 +34,7 @@ public class CoAPTestSupport extends CamelTestSupport {
}
protected CoapClient createClient(String path) {
- return createClient(path, PORT);
+ return createClient(path, PORT.getPort());
}
protected CoapClient createClient(String path, int port) {
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyBridgeHostHeaderIssueTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyBridgeHostHeaderIssueTest.java
index 958552c9e71f..226e8f32f966 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyBridgeHostHeaderIssueTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyBridgeHostHeaderIssueTest.java
@@ -21,17 +21,23 @@ import org.apache.camel.builder.RouteBuilder;
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;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class JettyBridgeHostHeaderIssueTest extends CamelTestSupport {
- private int port;
- private int port2;
- private int port3;
- private int port4;
- private int port5;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port2 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port3 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port4 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port5 = AvailablePortFinder.find();
private String receivedHostHeaderEndpoint1;
private String receivedHostHeaderEndpoint2;
private String receivedHostHeaderEndpoint3;
@@ -45,75 +51,71 @@ public class JettyBridgeHostHeaderIssueTest extends CamelTestSupport {
//The first call to our service will hit the first destination in the round robin load balancer
//this destination has the preserveProxyHeader parameter set to true, so we verify the Host header
//received by our downstream instance matches the address and port of the proxied service
- Exchange reply = template.request("http:localhost:" + port + "/myapp",
+ Exchange reply = template.request("http:localhost:" + port.getPort() + "/myapp",
exchange -> exchange.getIn().setBody("Hello World"));
assertNotNull(reply);
assertEquals("foo", reply.getMessage().getBody(String.class));
//assert the received Host header is localhost:port (where port matches the /myapp port)
- assertEquals("localhost:" + port, receivedHostHeaderEndpoint1);
+ assertEquals("localhost:" + port.getPort(), receivedHostHeaderEndpoint1);
//The second call to our service will hit the second destination in the round robin load balancer
//this destination does not have the preserveProxyHeader, so we expect the Host header received by the destination
//to match the url of the destination service itself
- Exchange reply2 = template.request("http:localhost:" + port + "/myapp",
+ Exchange reply2 = template.request("http:localhost:" + port.getPort() + "/myapp",
exchange -> exchange.getIn().setBody("Bye World"));
assertNotNull(reply2);
assertEquals("bar", reply2.getMessage().getBody(String.class));
//assert the received Host header is localhost:port3 (where port3 matches the /bar destination server)
- assertEquals("localhost:" + port3, receivedHostHeaderEndpoint2);
+ assertEquals("localhost:" + port3.getPort(), receivedHostHeaderEndpoint2);
//The next two calls will use/test the jetty producers in the round robin load balancer
//The first has the preserveHostHeader option set to true, so we would expect to receive a Host header matching the /myapp proxied service
- Exchange reply3 = template.request("http:localhost:" + port + "/myapp",
+ Exchange reply3 = template.request("http:localhost:" + port.getPort() + "/myapp",
exchange -> exchange.getIn().setBody("Bye JWorld"));
assertNotNull(reply3);
assertEquals("jbar", reply3.getMessage().getBody(String.class));
//assert the received Host header is localhost:port (where port matches the /myapp destination server)
- assertEquals("localhost:" + port, receivedHostHeaderEndpoint3);
+ assertEquals("localhost:" + port.getPort(), receivedHostHeaderEndpoint3);
//The second does not have a preserveHostHeader (preserveHostHeader=false), we would expect to see a Host header matching the destination service
- Exchange reply4 = template.request("http:localhost:" + port + "/myapp",
+ Exchange reply4 = template.request("http:localhost:" + port.getPort() + "/myapp",
exchange -> exchange.getIn().setBody("JAVA!!!!"));
assertNotNull(reply4);
assertEquals("java???", reply4.getMessage().getBody(String.class));
//assert the received Host header is localhost:port5 (where port3 matches the /jbarf destination server)
- assertEquals("localhost:" + port5, receivedHostHeaderEndpoint4);
+ assertEquals("localhost:" + port5.getPort(), receivedHostHeaderEndpoint4);
}
@Override
protected RouteBuilder createRouteBuilder() {
- port = AvailablePortFinder.getNextAvailable();
- port2 = AvailablePortFinder.getNextAvailable();
- port3 = AvailablePortFinder.getNextAvailable();
- port4 = AvailablePortFinder.getNextAvailable();
- port5 = AvailablePortFinder.getNextAvailable();
-
return new RouteBuilder() {
@Override
public void configure() {
- from("jetty:http://localhost:" + port + "/myapp?matchOnUriPrefix=true")
+ from("jetty:http://localhost:" + port.getPort() + "/myapp?matchOnUriPrefix=true")
.loadBalance().roundRobin()
- .to("http://localhost:" + port2
+ .to("http://localhost:" + port2.getPort()
+ "/foo?bridgeEndpoint=true&throwExceptionOnFailure=false&preserveHostHeader=true")
- .to("http://localhost:" + port3 + "/bar?bridgeEndpoint=true&throwExceptionOnFailure=false")
- .to("http://localhost:" + port4
+ .to("http://localhost:" + port3.getPort()
+ + "/bar?bridgeEndpoint=true&throwExceptionOnFailure=false")
+ .to("http://localhost:" + port4.getPort()
+ "/jbar?bridgeEndpoint=true&throwExceptionOnFailure=false&preserveHostHeader=true")
- .to("http://localhost:" + port5 + "/jbarf?bridgeEndpoint=true&throwExceptionOnFailure=false");
+ .to("http://localhost:" + port5.getPort()
+ + "/jbarf?bridgeEndpoint=true&throwExceptionOnFailure=false");
- from("jetty:http://localhost:" + port2 + "/foo")
+ from("jetty:http://localhost:" + port2.getPort() + "/foo")
.process(exchange -> receivedHostHeaderEndpoint1 = exchange.getIn().getHeader("Host", String.class))
.transform().constant("foo");
- from("jetty:http://localhost:" + port3 + "/bar")
+ from("jetty:http://localhost:" + port3.getPort() + "/bar")
.process(exchange -> receivedHostHeaderEndpoint2 = exchange.getIn().getHeader("Host", String.class))
.transform().constant("bar");
- from("jetty:http://localhost:" + port4 + "/jbar")
+ from("jetty:http://localhost:" + port4.getPort() + "/jbar")
.process(exchange -> receivedHostHeaderEndpoint3 = exchange.getIn().getHeader("Host", String.class))
.transform().constant("jbar");
- from("jetty:http://localhost:" + port5 + "/jbarf")
+ from("jetty:http://localhost:" + port5.getPort() + "/jbarf")
.process(exchange -> receivedHostHeaderEndpoint4 = exchange.getIn().getHeader("Host", String.class))
.transform().constant("java???");
}
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyFailoverRoundRobinTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyFailoverRoundRobinTest.java
index 5259ff901d44..b668b8e57f06 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyFailoverRoundRobinTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyFailoverRoundRobinTest.java
@@ -22,20 +22,23 @@ import org.apache.camel.component.mock.MockEndpoint;
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;
public class JettyFailoverRoundRobinTest extends CamelTestSupport {
+ private static int port1 = AvailablePortFinder.getNextAvailable();
+ private static int port2 = AvailablePortFinder.getNextAvailable();
+ private static int port3 = AvailablePortFinder.getNextAvailable();
+ private static int port4 = AvailablePortFinder.getNextAvailable();
- @RegisterExtension
- AvailablePortFinder.Port port1 = AvailablePortFinder.find();
- @RegisterExtension
- AvailablePortFinder.Port port2 = AvailablePortFinder.find();
- @RegisterExtension
- AvailablePortFinder.Port port3 = AvailablePortFinder.find();
- @RegisterExtension
- AvailablePortFinder.Port port4 = AvailablePortFinder.find();
+ private String bad = "jetty:http://localhost:" + port1 + "/bad";
+ private String bad2 = "jetty:http://localhost:" + port2 + "/bad2";
+ private String good = "jetty:http://localhost:" + port3 + "/good";
+ private String good2 = "jetty:http://localhost:" + port4 + "/good2";
+ private String hbad = "http://localhost:" + port1 + "/bad";
+ private String hbad2 = "http://localhost:" + port2 + "/bad2";
+ private String hgood = "http://localhost:" + port3 + "/good";
+ private String hgood2 = "http://localhost:" + port4 + "/good2";
@Test
void testJettyFailoverRoundRobin() throws Exception {
@@ -75,31 +78,28 @@ public class JettyFailoverRoundRobinTest extends CamelTestSupport {
// -1 is to indicate that failover LB should newer exhaust and keep trying
.loadBalance().failover(-1, false, true)
// this is the four endpoints we will load balance with failover
- .to("http://localhost:" + port1.getPort() + "/bad",
- "http://localhost:" + port2.getPort() + "/bad2",
- "http://localhost:" + port3.getPort() + "/good",
- "http://localhost:" + port4.getPort() + "/good2");
+ .to(hbad, hbad2, hgood, hgood2);
// END SNIPPET: e1
- from("jetty:http://localhost:" + port1.getPort() + "/bad")
+ from(bad)
.to("mock:bad")
.process(exchange -> {
exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 500);
exchange.getIn().setBody("Something bad happened");
});
- from("jetty:http://localhost:" + port2.getPort() + "/bad2")
+ from(bad2)
.to("mock:bad2")
.process(exchange -> {
exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 404);
exchange.getIn().setBody("Not found");
});
- from("jetty:http://localhost:" + port3.getPort() + "/good")
+ from(good)
.to("mock:good")
.process(exchange -> exchange.getIn().setBody("Good"));
- from("jetty:http://localhost:" + port4.getPort() + "/good2")
+ from(good2)
.to("mock:good2")
.process(exchange -> exchange.getIn().setBody("Also good"));
}
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamTest.java
index 625f5cefb1ca..84495419659e 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamTest.java
@@ -22,31 +22,31 @@ import org.apache.camel.builder.RouteBuilder;
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;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class JettyValidatorStreamTest extends CamelTestSupport {
- private int port;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
void testValideRequestAsStream() {
InputStream inputStream = this.getClass().getResourceAsStream("ValidRequest.xml");
assertNotNull(inputStream, "The inputStream should not be null");
- String response = template.requestBody("http://localhost:" + port + "/test", inputStream, String.class);
+ String response = template.requestBody("http://localhost:" + port.getPort() + "/test", inputStream, String.class);
assertEquals("<ok/>", response, "The response should be ok");
}
@Override
protected RouteBuilder createRouteBuilder() {
- port = AvailablePortFinder.getNextAvailable();
-
return new RouteBuilder() {
@Override
public void configure() {
- from("jetty:http://localhost:" + port + "/test")
+ from("jetty:http://localhost:" + port.getPort() + "/test")
.to("validator:OptimizationRequest.xsd")
.transform(constant("<ok/>"));
}
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamWithStreamCachingEnabledTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamWithStreamCachingEnabledTest.java
index b2865afa73fa..42151c3bbc50 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamWithStreamCachingEnabledTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamWithStreamCachingEnabledTest.java
@@ -22,33 +22,33 @@ import org.apache.camel.builder.RouteBuilder;
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;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class JettyValidatorStreamWithStreamCachingEnabledTest extends CamelTestSupport {
- private int port;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
void testValideRequestAsStream() {
InputStream inputStream = this.getClass().getResourceAsStream("ValidRequest.xml");
assertNotNull(inputStream, "The inputStream should not be null");
- String response = template.requestBody("http://localhost:" + port + "/test", inputStream, String.class);
+ String response = template.requestBody("http://localhost:" + port.getPort() + "/test", inputStream, String.class);
assertEquals("<ok/>", response, "The response should be ok");
}
@Override
protected RouteBuilder createRouteBuilder() {
- port = AvailablePortFinder.getNextAvailable();
-
return new RouteBuilder() {
@Override
public void configure() {
context.setStreamCaching(true);
- from("jetty:http://localhost:" + port + "/test")
+ from("jetty:http://localhost:" + port.getPort() + "/test")
.to("validator:OptimizationRequest.xsd")
.transform(constant("<ok/>"));
}
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorTest.java
index aa39f8b365c2..e85325979949 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorTest.java
@@ -23,20 +23,22 @@ import org.apache.camel.builder.RouteBuilder;
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;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class JettyValidatorTest extends CamelTestSupport {
- private int port;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
void testValidRequest() {
InputStream inputStream = this.getClass().getResourceAsStream("ValidRequest.xml");
assertNotNull(inputStream, "The inputStream should not be null");
- String response = template.requestBody("http://localhost:" + port + "/test", inputStream, String.class);
+ String response = template.requestBody("http://localhost:" + port.getPort() + "/test", inputStream, String.class);
assertEquals("<ok/>", response, "The response should be ok");
}
@@ -46,17 +48,15 @@ public class JettyValidatorTest extends CamelTestSupport {
InputStream inputStream = this.getClass().getResourceAsStream("InvalidRequest.xml");
assertNotNull(inputStream, "The inputStream should not be null");
- String response = template.requestBody("http://localhost:" + port + "/test", inputStream, String.class);
+ String response = template.requestBody("http://localhost:" + port.getPort() + "/test", inputStream, String.class);
assertEquals("<error/>", response, "The response should be error");
}
@Override
protected RouteBuilder createRouteBuilder() {
- port = AvailablePortFinder.getNextAvailable();
-
return new RouteBuilder() {
public void configure() {
- from("jetty:http://localhost:" + port + "/test")
+ from("jetty:http://localhost:" + port.getPort() + "/test")
.convertBodyTo(String.class)
.to("log:in")
.doTry()
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltHttpTemplateTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltHttpTemplateTest.java
index 1bb49243c845..5499be9732be 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltHttpTemplateTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltHttpTemplateTest.java
@@ -23,20 +23,22 @@ import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class JettyXsltHttpTemplateTest extends CamelTestSupport {
- private int port;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
void testXsltHttpTemplate() throws Exception {
// give Jetty a bit of time to startup and be ready
Awaitility.await().atMost(1, TimeUnit.SECONDS).until(() -> context.isStarted());
- String xml = template.requestBody("xslt:http://0.0.0.0:" + port + "/myxslt",
+ String xml = template.requestBody("xslt:http://0.0.0.0:" + port.getPort() + "/myxslt",
"<mail><subject>Hey</subject><body>Hello world!</body></mail>", String.class);
assertNotNull(xml, "The transformed XML should not be null");
@@ -49,12 +51,10 @@ public class JettyXsltHttpTemplateTest extends CamelTestSupport {
@Override
protected RouteBuilder createRouteBuilder() {
- port = AvailablePortFinder.getNextAvailable();
-
return new RouteBuilder() {
@Override
public void configure() {
- from("jetty:http://0.0.0.0:" + port + "/myxslt")
+ from("jetty:http://0.0.0.0:" + port.getPort() + "/myxslt")
.pollEnrich(
"file://src/test/resources/org/apache/camel/component/jetty/?fileName=transform.xsl&noop=true&readLock=none",
2000)
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltTest.java
index 408d9115af60..44671ea2fef5 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltTest.java
@@ -26,6 +26,7 @@ import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.util.ObjectHelper;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -33,7 +34,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class JettyXsltTest extends CamelTestSupport {
- private int port;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
void testClasspath() {
@@ -56,7 +58,7 @@ public class JettyXsltTest extends CamelTestSupport {
@Test
void testHttp() {
- String response = template.requestBody("xslt://http://localhost:" + port + "/test?name=greeting.xsl",
+ String response = template.requestBody("xslt://http://localhost:" + port.getPort() + "/test?name=greeting.xsl",
"<hello>Camel</hello>", String.class);
assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><goodbye>Camel</goodbye>", response);
@@ -64,11 +66,9 @@ public class JettyXsltTest extends CamelTestSupport {
@Override
protected RouteBuilder createRouteBuilder() {
- port = AvailablePortFinder.getNextAvailable();
-
return new RouteBuilder() {
public void configure() {
- from("jetty:http://localhost:" + port + "/test")
+ from("jetty:http://localhost:" + port.getPort() + "/test")
.process(exchange -> {
String name = exchange.getIn().getHeader("name", String.class);
ObjectHelper.notNull(name, "name");
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringFailoverRoundRobinTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringFailoverRoundRobinTest.java
index deccf1deb9a7..38ab1102a984 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringFailoverRoundRobinTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringFailoverRoundRobinTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.spring.junit6.CamelSpringTestSupport;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -27,22 +28,23 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
public class SpringFailoverRoundRobinTest extends CamelSpringTestSupport {
- private static int port1 = AvailablePortFinder.getNextAvailable();
- private static int port2 = AvailablePortFinder.getNextAvailable();
- private static int port3 = AvailablePortFinder.getNextAvailable();
- private static int port4 = AvailablePortFinder.getNextAvailable();
-
- static {
- //set them as system properties so Spring can use the property placeholder
- //things to set them into the URL's in the spring contexts
- System.setProperty("JettySpringFailoverRoundRobinTest.port1", Integer.toString(port1));
- System.setProperty("JettySpringFailoverRoundRobinTest.port2", Integer.toString(port2));
- System.setProperty("JettySpringFailoverRoundRobinTest.port3", Integer.toString(port3));
- System.setProperty("JettySpringFailoverRoundRobinTest.port4", Integer.toString(port4));
- }
+ @RegisterExtension
+ AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port2 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port3 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port4 = AvailablePortFinder.find();
@Override
protected AbstractXmlApplicationContext createApplicationContext() {
+ //set them as system properties so Spring can use the property placeholder
+ //things to set them into the URL's in the spring contexts
+ System.setProperty("JettySpringFailoverRoundRobinTest.port1", Integer.toString(port1.getPort()));
+ System.setProperty("JettySpringFailoverRoundRobinTest.port2", Integer.toString(port2.getPort()));
+ System.setProperty("JettySpringFailoverRoundRobinTest.port3", Integer.toString(port3.getPort()));
+ System.setProperty("JettySpringFailoverRoundRobinTest.port4", Integer.toString(port4.getPort()));
return new ClassPathXmlApplicationContext("/org/apache/camel/component/jetty/JettySpringFailoverRoundRobinTest.xml");
}
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/rest/RestJettyRedirectTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/rest/RestJettyRedirectTest.java
index 4cad70b0e238..dc9e6b3ef807 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/rest/RestJettyRedirectTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/rest/RestJettyRedirectTest.java
@@ -22,31 +22,33 @@ import org.apache.camel.component.http.HttpComponent;
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;
public class RestJettyRedirectTest extends CamelTestSupport {
- private int port;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
void testRedirectInvocation() {
- String response = template.requestBody("http://localhost:" + port + "/metadata/profile/tag", "<hello>Camel</hello>",
+ String response = template.requestBody("http://localhost:" + port.getPort() + "/metadata/profile/tag",
+ "<hello>Camel</hello>",
String.class);
assertEquals("Mock profile", response, "It should support the redirect out of box.");
}
@Override
protected RouteBuilder createRouteBuilder() {
- port = AvailablePortFinder.getNextAvailable();
-
return new RouteBuilder() {
public void configure() {
// enable follow redirects
HttpComponent http = context.getComponent("http", HttpComponent.class);
http.setFollowRedirects(true);
- restConfiguration().component("jetty").host("localhost").scheme("http").port(port).producerComponent("http");
+ restConfiguration().component("jetty").host("localhost").scheme("http").port(port.getPort())
+ .producerComponent("http");
rest("/metadata/profile")
.get("/{id}").to("direct:profileLookup")
.post("/tag").to("direct:tag");
diff --git a/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/MainHttpServerRouteTest.java b/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/MainHttpServerRouteTest.java
index 2998a7b3bca5..7e351f5174d6 100644
--- a/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/MainHttpServerRouteTest.java
+++ b/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/MainHttpServerRouteTest.java
@@ -28,12 +28,14 @@ import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
class MainHttpServerRouteTest {
- private static final int port = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port port = AvailablePortFinder.find();
private static CamelContext camelContext;
@@ -52,7 +54,7 @@ class MainHttpServerRouteTest {
// MainHttpServer needs to get registered/started explicitly
// https://issues.apache.org/jira/browse/CAMEL-21741
MainHttpServer httpServer = new MainHttpServer();
- httpServer.setPort(port);
+ httpServer.setPort(port.getPort());
camelContext.addService(httpServer);
camelContext.start();
@@ -69,7 +71,7 @@ class MainHttpServerRouteTest {
public void routeStatusOk() throws Exception {
HttpRequest request = HttpRequest.newBuilder()
- .uri(URI.create("http://localhost:" + port + "/hello"))
+ .uri(URI.create("http://localhost:" + port.getPort() + "/hello"))
.build();
HttpResponse<String> response = HttpClient.newBuilder().build()
diff --git a/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/ManagementHttpServerTest.java b/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/ManagementHttpServerTest.java
index 46600a4aeae0..7d451dab1238 100644
--- a/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/ManagementHttpServerTest.java
+++ b/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/ManagementHttpServerTest.java
@@ -26,6 +26,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -33,7 +34,8 @@ class ManagementHttpServerTest {
private CamelContext camelContext;
- private final int port = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
public void statusIsNotSatisfied() throws IOException, InterruptedException {
@@ -45,7 +47,7 @@ class ManagementHttpServerTest {
camelContext.getRegistry().bind("fake", new MainHttpFakeHealthCheck());
server.setHost("0.0.0.0");
- server.setPort(port);
+ server.setPort(port.getPort());
server.setPath("/");
server.setHealthCheckEnabled(true);
@@ -53,7 +55,7 @@ class ManagementHttpServerTest {
server.start();
HttpRequest request = HttpRequest.newBuilder()
- .uri(URI.create("http://localhost:" + port + "/q/health/ready"))
+ .uri(URI.create("http://localhost:" + port.getPort() + "/q/health/ready"))
.build();
HttpResponse<String> response = HttpClient.newBuilder().build().send(request, HttpResponse.BodyHandlers.ofString());
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiCodeFirstOnExceptionIssueTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiCodeFirstOnExceptionIssueTest.java
index 520a484c4160..2420fd576deb 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiCodeFirstOnExceptionIssueTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiCodeFirstOnExceptionIssueTest.java
@@ -24,10 +24,13 @@ import org.apache.camel.impl.DefaultCamelContext;
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 io.restassured.RestAssured.given;
public class RestOpenApiCodeFirstOnExceptionIssueTest extends CamelTestSupport {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Override
protected boolean useJmx() {
@@ -110,11 +113,10 @@ public class RestOpenApiCodeFirstOnExceptionIssueTest extends CamelTestSupport {
@Override
public CamelContext createCamelContext() throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
VertxPlatformHttpServerConfiguration conf = new VertxPlatformHttpServerConfiguration();
- conf.setBindPort(port);
+ conf.setBindPort(port.getPort());
- RestAssured.port = port;
+ RestAssured.port = port.getPort();
CamelContext context = new DefaultCamelContext();
context.addService(new VertxPlatformHttpServer(conf));
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiContractFirstOnExceptionIssueTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiContractFirstOnExceptionIssueTest.java
index df56c22a13cf..498927848c23 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiContractFirstOnExceptionIssueTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiContractFirstOnExceptionIssueTest.java
@@ -24,10 +24,13 @@ import org.apache.camel.impl.DefaultCamelContext;
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 io.restassured.RestAssured.given;
public class RestOpenApiContractFirstOnExceptionIssueTest extends CamelTestSupport {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Override
protected boolean useJmx() {
@@ -102,11 +105,10 @@ public class RestOpenApiContractFirstOnExceptionIssueTest extends CamelTestSuppo
@Override
public CamelContext createCamelContext() throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
VertxPlatformHttpServerConfiguration conf = new VertxPlatformHttpServerConfiguration();
- conf.setBindPort(port);
+ conf.setBindPort(port.getPort());
- RestAssured.port = port;
+ RestAssured.port = port.getPort();
CamelContext context = new DefaultCamelContext();
context.addService(new VertxPlatformHttpServer(conf));
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpAuthenticationTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpAuthenticationTest.java
index fa63c984af93..8f2c54a7beb6 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpAuthenticationTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpAuthenticationTest.java
@@ -32,11 +32,14 @@ import org.apache.camel.component.platform.http.vertx.auth.AuthenticationConfig.
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
public class VertxPlatformHttpAuthenticationTest {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
public void testAuthenticationDisabled() throws Exception {
@@ -287,9 +290,8 @@ public class VertxPlatformHttpAuthenticationTest {
private CamelContext createCamelContext(AuthenticationConfigCustomizer customizer)
throws Exception {
- int bindPort = AvailablePortFinder.getNextAvailable();
- RestAssured.port = bindPort;
- return createCamelContext(bindPort, customizer);
+ RestAssured.port = port.getPort();
+ return createCamelContext(port.getPort(), customizer);
}
private CamelContext createCamelContext(int bindPort, AuthenticationConfigCustomizer customizer)
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpCookieTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpCookieTest.java
index b042fed5094f..6a1e5b27332c 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpCookieTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpCookieTest.java
@@ -25,6 +25,7 @@ import org.apache.camel.component.platform.http.cookie.CookieHandler;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static io.restassured.RestAssured.given;
import static io.restassured.matcher.RestAssuredMatchers.detailedCookie;
@@ -32,6 +33,8 @@ import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.notNullValue;
public class VertxPlatformHttpCookieTest {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
// add a cookie using the default cookie configuration
@Test
@@ -250,12 +253,11 @@ public class VertxPlatformHttpCookieTest {
return exchange.getProperty(Exchange.COOKIE_HANDLER, CookieHandler.class);
}
- static CamelContext createCamelContext() throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
+ CamelContext createCamelContext() throws Exception {
VertxPlatformHttpServerConfiguration conf = new VertxPlatformHttpServerConfiguration();
- conf.setBindPort(port);
+ conf.setBindPort(port.getPort());
- RestAssured.port = port;
+ RestAssured.port = port.getPort();
CamelContext context = new DefaultCamelContext();
context.addService(new VertxPlatformHttpServer(conf));
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
index 249d624e5796..a49e136363fe 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
@@ -65,6 +65,7 @@ import org.apache.camel.test.AvailablePortFinder;
import org.apache.hc.client5.http.utils.Base64;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static io.restassured.RestAssured.get;
import static io.restassured.RestAssured.given;
@@ -82,6 +83,13 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
public class VertxPlatformHttpEngineTest {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port2 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port3 = AvailablePortFinder.find();
+
public static SSLContextParameters serverSSLParameters;
public static SSLContextParameters clientSSLParameters;
@@ -123,7 +131,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testEngineSetup() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.start();
@@ -140,7 +148,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testEngine() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
VertxPlatformHttpServer platformHttpServer;
try {
@@ -197,7 +205,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testSlowConsumer() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.getRegistry().bind(
@@ -232,7 +240,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testSlowConsumerWithTimeout() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.getRegistry().bind(
@@ -266,7 +274,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testTimeoutNotExceeded() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
String response = "Request did not time out";
try {
@@ -295,7 +303,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testFailingConsumer() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -325,7 +333,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testEngineSSL() throws Exception {
final CamelContext context
- = createCamelContext(configuration -> configuration.setSslContextParameters(serverSSLParameters));
+ = createCamelContextForTest(configuration -> configuration.setSslContextParameters(serverSSLParameters));
try {
context.getRegistry().bind("clientSSLContextParameters", clientSSLParameters);
@@ -352,7 +360,8 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testEngineGlobalSSL() throws Exception {
- final CamelContext context = createCamelContext(configuration -> configuration.setUseGlobalSslContextParameters(true));
+ final CamelContext context
+ = createCamelContextForTest(configuration -> configuration.setUseGlobalSslContextParameters(true));
try {
context.setSSLContextParameters(serverSSLParameters);
@@ -381,7 +390,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testEngineCORS() throws Exception {
- final CamelContext context = createCamelContext(configuration -> {
+ final CamelContext context = createCamelContextForTest(configuration -> {
configuration.getCors().setEnabled(true);
configuration.getCors().setMethods(Arrays.asList("GET", "POST"));
});
@@ -419,7 +428,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testMatchOnUriPrefix() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
final String greeting = "Hello Camel";
context.addRoutes(new RouteBuilder() {
@@ -476,7 +485,7 @@ public class VertxPlatformHttpEngineTest {
Files.write(tempFile.toPath(), fileContent.getBytes(StandardCharsets.UTF_8));
}
- final CamelContext context = createCamelContext(configuration -> {
+ final CamelContext context = createCamelContextForTest(configuration -> {
VertxPlatformHttpServerConfiguration.BodyHandler bodyHandler
= new VertxPlatformHttpServerConfiguration.BodyHandler();
// turn on file uploads
@@ -528,7 +537,7 @@ public class VertxPlatformHttpEngineTest {
final String attachmentId = "myTestFile";
final String fileContent = "Test multipart upload content";
final File tempFile = File.createTempFile("platform-http", ".txt");
- final CamelContext context = createCamelContext(configuration -> {
+ final CamelContext context = createCamelContextForTest(configuration -> {
VertxPlatformHttpServerConfiguration.BodyHandler bodyHandler
= new VertxPlatformHttpServerConfiguration.BodyHandler();
// turn on file uploads
@@ -573,7 +582,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testFormPost() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -601,7 +610,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testTextContentPost() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -630,7 +639,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testRestCORSWitchConsumes() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -670,7 +679,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testBodyClientRequestValidation() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -723,7 +732,7 @@ public class VertxPlatformHttpEngineTest {
AuthenticationProvider authProvider = PropertyFileAuthentication.create(vertx, "authentication/auth.properties");
BasicAuthHandler basicAuthHandler = BasicAuthHandler.create(authProvider);
- CamelContext context = createCamelContext();
+ CamelContext context = createCamelContextForTest();
context.addRoutes(new RouteBuilder() {
@Override
public void configure() {
@@ -772,7 +781,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testRequestBodyAllowed() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -810,7 +819,7 @@ public class VertxPlatformHttpEngineTest {
public void testRequestBodyAllowedFormUrlEncoded() throws Exception {
// Methods that are allowed a request body by Vert.x web for application/x-www-form-urlencoded
final List<Method> methodsWithBodyAllowed = List.of(Method.POST, Method.PUT, Method.PATCH, Method.DELETE);
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -848,7 +857,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void responseHeaders() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -881,7 +890,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void responseMultipleHeaders() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -911,7 +920,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testConsumerSuspended() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -947,7 +956,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testInvalidContentTypeClientRequestValidation() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -982,7 +991,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testLocalAddressHeader() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -1011,7 +1020,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testRemoteAddressHeader() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -1040,7 +1049,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testVertxRequestResponseObjects() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -1070,7 +1079,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testAddCookie() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -1103,7 +1112,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testRemoveCookie() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -1139,7 +1148,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testReplaceCookie() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -1177,7 +1186,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testResponseTypeConversionErrorHandled() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -1201,7 +1210,7 @@ public class VertxPlatformHttpEngineTest {
@Test
public void testResponseBadQueryParamErrorHandled() throws Exception {
- final CamelContext context = createCamelContext();
+ final CamelContext context = createCamelContextForTest();
try {
context.addRoutes(new RouteBuilder() {
@@ -1228,8 +1237,8 @@ public class VertxPlatformHttpEngineTest {
// This test simulates CAMEL-22937: when both main server and management server are running,
// findSingleByType returns null because there are multiple instances of VertxPlatformHttpServer.
// The engine should prefer the main server (SERVER_TYPE_SERVER) over the management server.
- int mainPort = AvailablePortFinder.getNextAvailable();
- int managementPort = AvailablePortFinder.getNextAvailable();
+ int mainPort = port2.getPort();
+ int managementPort = port3.getPort();
VertxPlatformHttpServerConfiguration mainConf = new VertxPlatformHttpServerConfiguration();
mainConf.setBindPort(mainPort);
@@ -1285,16 +1294,8 @@ public class VertxPlatformHttpEngineTest {
// camel.server.port = 8084
// camel.management.port = 8083
// The engine should always prefer the main server port.
- int serverPort = 8084;
- int managementPort = 8083;
-
- // Check if ports are available, otherwise use dynamic ports
- if (!isPortAvailable(serverPort)) {
- serverPort = AvailablePortFinder.getNextAvailable();
- }
- if (!isPortAvailable(managementPort)) {
- managementPort = AvailablePortFinder.getNextAvailable();
- }
+ int serverPort = port2.getPort();
+ int managementPort = port3.getPort();
VertxPlatformHttpServerConfiguration mainConf = new VertxPlatformHttpServerConfiguration();
mainConf.setBindPort(serverPort);
@@ -1343,21 +1344,27 @@ public class VertxPlatformHttpEngineTest {
}
}
- private boolean isPortAvailable(int port) {
- try (java.net.ServerSocket socket = new java.net.ServerSocket(port)) {
- socket.setReuseAddress(true);
- return true;
- } catch (java.io.IOException e) {
- return false;
- }
- }
-
static CamelContext createCamelContext() throws Exception {
- return createCamelContext(null);
+ return createCamelContext(AvailablePortFinder.find().getPort(), null);
}
static CamelContext createCamelContext(ServerConfigurationCustomizer customizer) throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
+ return createCamelContext(AvailablePortFinder.find().getPort(), customizer);
+ }
+
+ CamelContext createCamelContextForTest() throws Exception {
+ return createCamelContext(port.getPort(), null);
+ }
+
+ CamelContext createCamelContextForTest(ServerConfigurationCustomizer customizer) throws Exception {
+ return createCamelContext(port.getPort(), customizer);
+ }
+
+ static CamelContext createCamelContext(int port) throws Exception {
+ return createCamelContext(port, null);
+ }
+
+ static CamelContext createCamelContext(int port, ServerConfigurationCustomizer customizer) throws Exception {
VertxPlatformHttpServerConfiguration conf = new VertxPlatformHttpServerConfiguration();
conf.setBindPort(port);
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpNoBodyHandlerTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpNoBodyHandlerTest.java
index 48b23bd37d1a..216b1ed36ceb 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpNoBodyHandlerTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpNoBodyHandlerTest.java
@@ -24,6 +24,7 @@ import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.containing;
@@ -34,11 +35,14 @@ import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.is;
public class VertxPlatformHttpNoBodyHandlerTest {
- private final int port = AvailablePortFinder.getNextAvailable();
- private final WireMockServer wireMockServer = new WireMockServer(options().port(port));
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+
+ private WireMockServer wireMockServer;
@BeforeEach
void before() {
+ wireMockServer = new WireMockServer(options().port(port.getPort()));
wireMockServer.stubFor(post(urlPathEqualTo("/test"))
.withRequestBody(containing("Hello World"))
.willReturn(aResponse()
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpPooledExchangeTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpPooledExchangeTest.java
index 1ca531ce8781..392d91893d6c 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpPooledExchangeTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpPooledExchangeTest.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.PooledObjectFactory;
import org.apache.camel.test.AvailablePortFinder;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static io.restassured.RestAssured.get;
import static org.assertj.core.api.Assertions.assertThat;
@@ -38,6 +39,8 @@ import static org.hamcrest.Matchers.is;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class VertxPlatformHttpPooledExchangeTest {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
public void testEngineSetup() throws Exception {
@@ -93,16 +96,15 @@ public class VertxPlatformHttpPooledExchangeTest {
}
}
- static CamelContext createCamelContext() throws Exception {
+ CamelContext createCamelContext() throws Exception {
return createCamelContext(null);
}
- private static CamelContext createCamelContext(ServerConfigurationCustomizer customizer) throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
+ private CamelContext createCamelContext(ServerConfigurationCustomizer customizer) throws Exception {
VertxPlatformHttpServerConfiguration conf = new VertxPlatformHttpServerConfiguration();
- conf.setBindPort(port);
+ conf.setBindPort(port.getPort());
- RestAssured.port = port;
+ RestAssured.port = port.getPort();
if (customizer != null) {
customizer.customize(conf);
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpProxyTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpProxyTest.java
index b393b4dd7f09..e2a3083be4bc 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpProxyTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpProxyTest.java
@@ -25,6 +25,7 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
@@ -36,11 +37,14 @@ import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.containsString;
public class VertxPlatformHttpProxyTest {
- private final int port = AvailablePortFinder.getNextAvailable();
- private final WireMockServer wireMockServer = new WireMockServer(options().port(port));
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+
+ private WireMockServer wireMockServer;
@BeforeEach
void before() {
+ wireMockServer = new WireMockServer(options().port(port.getPort()));
wireMockServer.stubFor(get(urlPathEqualTo("/"))
.willReturn(aResponse()
.withBody(
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSessionTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSessionTest.java
index 8f6dd316ff09..77bd6da80f21 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSessionTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSessionTest.java
@@ -34,6 +34,7 @@ import org.apache.camel.http.base.cookie.InstanceCookieHandler;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static io.restassured.RestAssured.given;
import static io.restassured.matcher.RestAssuredMatchers.detailedCookie;
@@ -43,6 +44,10 @@ import static org.hamcrest.Matchers.nullValue;
import static org.junit.jupiter.api.Assertions.*;
public class VertxPlatformHttpSessionTest {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port sessionPort = AvailablePortFinder.find();
@Test
public void testSessionDisabled() throws Exception {
@@ -160,8 +165,7 @@ public class VertxPlatformHttpSessionTest {
@Test
public void testSessionHandling() throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
- CamelContext context = createCamelContext(port,
+ CamelContext context = createCamelContext(sessionPort.getPort(),
sessionConfig -> {
sessionConfig.setEnabled(true);
});
@@ -177,7 +181,7 @@ public class VertxPlatformHttpSessionTest {
from("direct:session")
.toF("http://localhost:%d/session?cookieHandler=#instanceCookieHander",
- port);
+ sessionPort.getPort());
}
});
@@ -211,9 +215,8 @@ public class VertxPlatformHttpSessionTest {
private CamelContext createCamelContext(SessionConfigCustomizer customizer)
throws Exception {
- int bindPort = AvailablePortFinder.getNextAvailable();
- RestAssured.port = bindPort;
- return createCamelContext(bindPort, customizer);
+ RestAssured.port = port.getPort();
+ return createCamelContext(port.getPort(), customizer);
}
private CamelContext createCamelContext(int bindPort, SessionConfigCustomizer customizer)
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSharedVertxTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSharedVertxTest.java
index 4fc124b33ed5..0a5d1ea6ae5e 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSharedVertxTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSharedVertxTest.java
@@ -26,10 +26,14 @@ import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertTrue;
class VertxPlatformHttpSharedVertxTest {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+
private static final Vertx vertx = Vertx.vertx();
@AfterAll
@@ -43,7 +47,7 @@ class VertxPlatformHttpSharedVertxTest {
void sharedVertxInstanceNotClosed() throws Exception {
try (CamelContext context = new DefaultCamelContext()) {
VertxPlatformHttpServerConfiguration configuration = new VertxPlatformHttpServerConfiguration();
- configuration.setBindPort(AvailablePortFinder.getNextAvailable());
+ configuration.setBindPort(port.getPort());
context.getRegistry().bind("vertx", vertx);
context.addService(new VertxPlatformHttpServer(configuration));
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpsProxyTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpsProxyTest.java
index b904706c09a4..7f77878ef0af 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpsProxyTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpsProxyTest.java
@@ -31,6 +31,7 @@ import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.get;
@@ -40,17 +41,19 @@ import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.containsString;
public class VertxPlatformHttpsProxyTest {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
- private final int port = AvailablePortFinder.getNextAvailable();
- private final WireMockServer wireMockServer = new WireMockServer(
- options().httpsPort(port)
- .httpDisabled(true)
- .keystorePath("proxy/keystore.p12")
- .keystorePassword("changeit")
- .keyManagerPassword("changeit"));
+ private WireMockServer wireMockServer;
@BeforeEach
void before() {
+ wireMockServer = new WireMockServer(
+ options().httpsPort(port.getPort())
+ .httpDisabled(true)
+ .keystorePath("proxy/keystore.p12")
+ .keystorePassword("changeit")
+ .keyManagerPassword("changeit"));
wireMockServer.stubFor(get(urlPathEqualTo("/"))
.willReturn(aResponse()
.withBody(
@@ -91,7 +94,7 @@ public class VertxPlatformHttpsProxyTest {
// In order to make sure that RestAssured don't perform a CONNECT instead of a GET, we do trick with http
// if we want to do test manually from a terminal we use the real HTTPS address
- final var originURI = "http://localhost:" + port;
+ final var originURI = "http://localhost:" + port.getPort();
given()
.proxy(proxyURI)
diff --git a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformMultipleContentTypeTest.java b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformMultipleContentTypeTest.java
index 2b7055897c62..7f4ba2040c62 100644
--- a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformMultipleContentTypeTest.java
+++ b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformMultipleContentTypeTest.java
@@ -30,10 +30,14 @@ import org.apache.camel.support.jsse.TrustManagersParameters;
import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.hamcrest.Matchers.is;
public class VertxPlatformMultipleContentTypeTest {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+
public static SSLContextParameters serverSSLParameters;
public static SSLContextParameters clientSSLParameters;
@@ -179,16 +183,15 @@ public class VertxPlatformMultipleContentTypeTest {
}
}
- static CamelContext createCamelContext() throws Exception {
+ CamelContext createCamelContext() throws Exception {
return createCamelContext(null);
}
- private static CamelContext createCamelContext(ServerConfigurationCustomizer customizer) throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
+ private CamelContext createCamelContext(ServerConfigurationCustomizer customizer) throws Exception {
VertxPlatformHttpServerConfiguration conf = new VertxPlatformHttpServerConfiguration();
- conf.setBindPort(port);
+ conf.setBindPort(port.getPort());
- RestAssured.port = port;
+ RestAssured.port = port.getPort();
if (customizer != null) {
customizer.customize(conf);
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java
index 07b49090ebcb..bdfacce0e34d 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java
@@ -23,29 +23,25 @@ import org.apache.camel.BindToRegistry;
import org.apache.camel.CamelContext;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
/**
* Base class of tests which allocates ports
*/
public abstract class BaseUndertowTest extends CamelTestSupport {
- private static volatile int port;
- private static volatile int port2;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port port2 = AvailablePortFinder.find();
private final AtomicInteger counter = new AtomicInteger(1);
- @BeforeAll
- public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
- port2 = AvailablePortFinder.getNextAvailable();
+ protected int getPort() {
+ return port.getPort();
}
- protected static int getPort() {
- return port;
- }
-
- protected static int getPort2() {
- return port2;
+ protected int getPort2() {
+ return port2.getPort();
}
@Override
@@ -65,10 +61,14 @@ public abstract class BaseUndertowTest extends CamelTestSupport {
}
protected int getNextPort() {
- return AvailablePortFinder.getNextAvailable();
+ try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+ return p.getPort();
+ }
}
protected int getNextPort(int startWithPort) {
- return AvailablePortFinder.getNextAvailable();
+ try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+ return p.getPort();
+ }
}
}
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowHttpProducerSessionTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowHttpProducerSessionTest.java
index d5852263aa3c..7338c3ce7cdf 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowHttpProducerSessionTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowHttpProducerSessionTest.java
@@ -26,11 +26,12 @@ import org.apache.camel.http.base.cookie.ExchangeCookieHandler;
import org.apache.camel.http.base.cookie.InstanceCookieHandler;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class UndertowHttpProducerSessionTest extends CamelTestSupport {
- private static volatile int port;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@BindToRegistry("instanceCookieHandler")
private InstanceCookieHandler instanceCookieHandler = new InstanceCookieHandler();
@@ -38,11 +39,6 @@ public class UndertowHttpProducerSessionTest extends CamelTestSupport {
@BindToRegistry("exchangeCookieHandler")
private ExchangeCookieHandler exchangeCookieHandler = new ExchangeCookieHandler();
- @BeforeAll
- public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
- }
-
@Test
public void testNoSession() throws Exception {
getMockEndpoint("mock:result").expectedBodiesReceived("New New World", "New New World");
@@ -69,7 +65,7 @@ public class UndertowHttpProducerSessionTest extends CamelTestSupport {
private String getTestServerEndpointSessionUrl() {
// session handling will not work for localhost
- return "http://127.0.0.1:" + port + "/session";
+ return "http://127.0.0.1:" + port.getPort() + "/session";
}
private String getTestServerEndpointSessionUri() {
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowMethodRestricTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowMethodRestricTest.java
index bccbd4ae01d2..3ec6a5a9581d 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowMethodRestricTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowMethodRestricTest.java
@@ -25,17 +25,17 @@ import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.http.io.entity.StringEntity;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class UndertowMethodRestricTest extends BaseUndertowTest {
- private static String url;
+ private String url;
- @BeforeAll
- public static void init() {
+ @BeforeEach
+ public void init() {
url = "http://localhost:" + getPort() + "/methodRestrict";
}