This is an automated email from the ASF dual-hosted git repository.
davsclaus 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 7eab79adfeb9 CAMEL-25788, CAMEL-25583, CAMEL-26365: camel-cxf - fix
flaky BindException in jaxrs/jaxws tests (#28676)
7eab79adfeb9 is described below
commit 7eab79adfeb90cdc8002593f2ebbdb83b0d87391
Author: Aurélien Pupier <[email protected]>
AuthorDate: Fri Oct 30 09:53:01 2026 +0100
CAMEL-25788, CAMEL-25583, CAMEL-26365: camel-cxf - fix flaky BindException
in jaxrs/jaxws tests (#28676)
…ption in jaxrs/jaxws tests
Root cause
----------
CXFTestSupport holds 8 static final AvailablePortFinder.Port fields
(PORT1-PORT7, SSL_PORT) allocated once at JVM class-load time. Every
test class that calls CXFTestSupport.getPort1() etc. gets the *same*
integer, so when Maven Surefire runs test classes concurrently they all
attempt to bind the same port simultaneously, causing:
org.apache.cxf.service.factory.ServiceConstructionException:
There is an endpoint already running on http://localhost:47767/...
java.net.BindException: Address already in use
Reproduction
------------
Added junit-platform.properties (not committed) to both
camel-cxf-rest/src/test/resources/ and
camel-cxf-soap/src/test/resources/ with:
junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.mode.classes.default=concurrent
junit.jupiter.execution.parallel.config.fixed.parallelism=4
Then ran:
mvn test -pl "components/camel-cxf/camel-cxf-rest,\
components/camel-cxf/camel-cxf-soap" -T1C
Before fix: 4/20 runs failed (20% failure rate) with BindException.
After fix: 0/20 runs failed (verified across 20 consecutive runs).
Fix
---
Replace every CXFTestSupport.getPortX() call with a per-class
@RegisterExtension AvailablePortFinder.Port field so each test-class
instance reserves its own unique port:
* Standalone leaf classes -> @RegisterExtension static final Port PORT
(one allocation per class, safe for concurrent forks)
* Parent classes whose subclasses use getClass().getSimpleName() in
the URL (CxfSimpleRouterTest, CxfConsumerMessageTest,
CxfConsumerPayloadFaultTest, CxfConsumerStreamCacheTest,
CxfCustomizedExceptionTest, CxfPayLoadSoapHeaderTestAbstract,
CXFWsdlOnlyPayloadModeNoSpringTest, CxfProducerTest,
CxfSchemaValidationTest) -> @RegisterExtension final Port port
(instance field - each subclass instance gets its own port)
Readability improvements (no functional change)
-----------------------------------------------
* Removed dead int-shim fields (legacy portN = PORT.getPort() helpers
left over from migration) in CxfJavaOnlyPayloadModeTest,
CxfJavaOnlyCamelContextAwareTest, LoadDistributorFeatureTest.
* Renamed opaque PORT_2/PORT_3/PORT_4 to semantic names:
- FailOverFeatureTest: PORT -> SERVICE_PORT,
PORT_2 -> PAYLOAD_PROXY_PORT,
PORT_3 -> POJO_PROXY_PORT,
PORT_4 -> NONE_EXIST_PORT
- LoadDistributorFeatureTest: PORT -> SERVICE_PORT,
PORT_2 -> PAYLOAD_PROXY_PORT,
PORT_3 -> POJO_PROXY_PORT
* Extracted repeated URL literals to named constants:
- CxfRsConsumerSimpleBindingTest: BASE_URL (was repeated 11 times)
- CxfRsConvertBodyToTest: REST/STATUS/EMPTY _ENDPOINT_URI and
REST/STATUS/EMPTY _TEST_URL constants (deduplicated from both
createRouteBuilder() and individual test methods)
Changed files (45 total)
------------------------
camel-cxf-rest (12 test classes):
CxfRsStreamCacheTest, CxfRsResponseWithHeadersTest,
CxfRsConsumerWithBeanTest, CxfRsConvertBodyToTest,
CxfRsConsumerSuspendTest, CxfRsConsumerClientDisconnectedTest,
CxfRsStreamCacheContentTypeTest, CxfRsProducerHttpMethodHeaderTest,
CxfRsProducerParameterParsingTest,
CxfRsBindingConfigurationSelectionTest,
simplebinding/CxfRsConsumerSimpleBindingTest,
simplebinding/CxfRsConsumerSimpleBindingImplTest
camel-cxf-soap (33 test classes):
CxfSimpleRouterTest, CxfConsumerTest, CxfConsumerMessageTest,
CxfConsumerResponseTest, CxfConsumerProviderTest,
CxfConsumerContinuationTimeoutTest,
CxfConsumerPayloadXPathClientServerTest,
CxfConsumerStreamCacheTest, CxfConsumerSuspendTest,
CxfConsumerClientDisconnectedTest, CxfConsumerStartTwiceTest,
CxfConsumerMuteExceptionTest, CxfConsumerPayloadFaultTest,
CxfCustomizedExceptionTest, CxfPayLoadSoapHeaderTestAbstract,
CXFWsdlOnlyPayloadModeNoSpringTest,
CXFWsdlOnlyPayloadModeMultiPartNoSpringTest,
CxfMultipleConsumersSupportTest, CxfMixedModeRouterTest,
CxfProducerTest, CxfProducerContextTest,
CxfProducerRouterTest, CxfProducerSoapFaultTest,
CxfProducerSynchronousTest, CxfProducerSynchronousFalseTest,
CxfProducerSessionTest, CxfJavaOnlyPayloadModeTest,
CxfJavaOnlyCamelContextAwareTest,
JaxWsWebFaultAnnotationToFaultTest, CxfSchemaValidationTest,
FailOverFeatureTest, LoadDistributorFeatureTest,
holder/CxfHolderConsumerTest
Co-authored-by: IBM Bob 2.2.1
Signed-off-by: Aurélien Pupier <[email protected]>
---
.../CxfRsBindingConfigurationSelectionTest.java | 41 ++++++++--------
.../jaxrs/CxfRsConsumerClientDisconnectedTest.java | 15 +++---
.../cxf/jaxrs/CxfRsConsumerSuspendTest.java | 16 ++++---
.../cxf/jaxrs/CxfRsConsumerWithBeanTest.java | 30 ++++++------
.../cxf/jaxrs/CxfRsConvertBodyToTest.java | 54 +++++++++++-----------
.../jaxrs/CxfRsProducerHttpMethodHeaderTest.java | 10 ++--
.../jaxrs/CxfRsProducerParameterParsingTest.java | 10 ++--
.../cxf/jaxrs/CxfRsResponseWithHeadersTest.java | 12 +++--
.../cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java | 19 ++++----
.../component/cxf/jaxrs/CxfRsStreamCacheTest.java | 14 ++++--
.../CxfRsConsumerSimpleBindingImplTest.java | 15 ++++--
.../CxfRsConsumerSimpleBindingTest.java | 47 +++++++++++++------
.../cxf/holder/CxfHolderConsumerTest.java | 8 +++-
...XFWsdlOnlyPayloadModeMultiPartNoSpringTest.java | 12 +++--
.../jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java | 16 ++++---
.../jaxws/CxfConsumerClientDisconnectedTest.java | 11 +++--
.../jaxws/CxfConsumerContinuationTimeoutTest.java | 7 ++-
.../cxf/jaxws/CxfConsumerMessageTest.java | 8 +++-
.../cxf/jaxws/CxfConsumerMuteExceptionTest.java | 15 ++++--
.../cxf/jaxws/CxfConsumerPayloadFaultTest.java | 8 +++-
.../CxfConsumerPayloadXPathClientServerTest.java | 8 +++-
.../cxf/jaxws/CxfConsumerProviderTest.java | 7 ++-
.../cxf/jaxws/CxfConsumerResponseTest.java | 7 ++-
.../cxf/jaxws/CxfConsumerStartTwiceTest.java | 10 ++--
.../cxf/jaxws/CxfConsumerStreamCacheTest.java | 7 ++-
.../cxf/jaxws/CxfConsumerSuspendTest.java | 7 ++-
.../camel/component/cxf/jaxws/CxfConsumerTest.java | 8 +++-
.../cxf/jaxws/CxfCustomizedExceptionTest.java | 7 ++-
.../jaxws/CxfJavaOnlyCamelContextAwareTest.java | 10 ++--
.../cxf/jaxws/CxfJavaOnlyPayloadModeTest.java | 8 ++--
.../cxf/jaxws/CxfMixedModeRouterTest.java | 14 ++++--
.../cxf/jaxws/CxfMultipleConsumersSupportTest.java | 16 ++++---
.../jaxws/CxfPayLoadSoapHeaderTestAbstract.java | 13 ++++--
.../cxf/jaxws/CxfProducerContextTest.java | 10 ++--
.../component/cxf/jaxws/CxfProducerRouterTest.java | 8 +++-
.../cxf/jaxws/CxfProducerSessionTest.java | 13 ++++--
.../cxf/jaxws/CxfProducerSoapFaultTest.java | 8 +++-
.../cxf/jaxws/CxfProducerSynchronousFalseTest.java | 7 ++-
.../cxf/jaxws/CxfProducerSynchronousTest.java | 7 ++-
.../camel/component/cxf/jaxws/CxfProducerTest.java | 11 +++--
.../cxf/jaxws/CxfSchemaValidationTest.java | 11 +++--
.../component/cxf/jaxws/CxfSimpleRouterTest.java | 12 +++--
.../component/cxf/jaxws/FailOverFeatureTest.java | 26 +++++++----
.../jaxws/JaxWsWebFaultAnnotationToFaultTest.java | 8 +++-
.../cxf/jaxws/LoadDistributorFeatureTest.java | 27 +++++++----
45 files changed, 409 insertions(+), 229 deletions(-)
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsBindingConfigurationSelectionTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsBindingConfigurationSelectionTest.java
index 15ac79d6c352..21cebdcbd3dd 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsBindingConfigurationSelectionTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsBindingConfigurationSelectionTest.java
@@ -26,10 +26,11 @@ import org.apache.camel.BindToRegistry;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.jaxrs.client.WebClient;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -38,21 +39,17 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
*/
public class CxfRsBindingConfigurationSelectionTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT1 = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT2 = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT3 = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT4 = AvailablePortFinder.find();
+
private static final String RESOURCE_CLASS
=
"resourceClasses=org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerServiceResource";
- private static final String CXF_RS_ENDPOINT_URI_CUSTOM = String
-
.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=Custom&",
CXFTestSupport.getPort2())
- + RESOURCE_CLASS
+ "&binding=#binding";
- private static final String CXF_RS_ENDPOINT_URI_SIMPLE
- =
String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=SimpleConsumer&",
- CXFTestSupport.getPort1())
- + RESOURCE_CLASS;
- private static final String CXF_RS_ENDPOINT_URI_DEFAULT
- =
String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=Default&",
- CXFTestSupport.getPort3())
- + RESOURCE_CLASS;
- private static final String CXF_RS_ENDPOINT_URI_NONE
- =
String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?",
CXFTestSupport.getPort4()) + RESOURCE_CLASS;
@BindToRegistry("binding")
private DummyCxfRsBindingImplementation dummyCxfRsBindingImplementation =
new DummyCxfRsBindingImplementation();
@@ -81,16 +78,24 @@ public class CxfRsBindingConfigurationSelectionTest extends
CamelTestSupport {
return new RouteBuilder() {
public void configure() {
- from(CXF_RS_ENDPOINT_URI_CUSTOM).routeId("custom")
+
from(String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=Custom&",
+ PORT2.getPort())
+ + RESOURCE_CLASS + "&binding=#binding").routeId("custom")
.to("log:foo");
- from(CXF_RS_ENDPOINT_URI_SIMPLE).routeId("simple")
+
from(String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=SimpleConsumer&",
+ PORT1.getPort())
+ + RESOURCE_CLASS).routeId("simple")
.to("log:foo");
- from(CXF_RS_ENDPOINT_URI_DEFAULT).routeId("default")
+
from(String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=Default&",
+ PORT3.getPort())
+ + RESOURCE_CLASS).routeId("default")
.to("log:foo");
- from(CXF_RS_ENDPOINT_URI_NONE).routeId("none")
+
from(String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?",
+ PORT4.getPort())
+ + RESOURCE_CLASS).routeId("none")
.to("log:foo");
}
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerClientDisconnectedTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerClientDisconnectedTest.java
index 43605cd2487e..287b03872e1e 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerClientDisconnectedTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerClientDisconnectedTest.java
@@ -21,23 +21,26 @@ import java.io.OutputStreamWriter;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.spi.Synchronization;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.commons.net.telnet.TelnetClient;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
/**
* UnitOfWork should complete even if client disconnected during the
processing.
*/
public class CxfRsConsumerClientDisconnectedTest extends CamelTestSupport {
- private static final int PORT = CXFTestSupport.getPort1();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
private static final String CONTEXT =
"/CxfRsConsumerClientDisconnectedTest";
- private static final String CXT = PORT + CONTEXT;
- private String cxfRsEndpointUri = "cxfrs://http://localhost:" + CXT +
"/rest?synchronous=" + isSynchronous()
- +
"&dataFormat=PAYLOAD&resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
+ private String cxfRsEndpointUri
+ = "cxfrs://http://localhost:" + PORT.getPort() + CONTEXT +
"/rest?synchronous=" + isSynchronous()
+ +
"&dataFormat=PAYLOAD&resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
@@ -83,7 +86,7 @@ public class CxfRsConsumerClientDisconnectedTest extends
CamelTestSupport {
TelnetClient telnetClient = new TelnetClient();
- telnetClient.connect("localhost", PORT);
+ telnetClient.connect("localhost", PORT.getPort());
telnetClient.setTcpNoDelay(true);
telnetClient.setReceiveBufferSize(1);
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerSuspendTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerSuspendTest.java
index 4780414c2550..a8ea08734786 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerSuspendTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerSuspendTest.java
@@ -26,10 +26,11 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.support.service.ServiceSupport;
+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.awaitility.Awaitility.await;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -40,9 +41,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
*/
class CxfRsConsumerSuspendTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
private static final String CONTEXT = "/CxfRsConsumerSuspendTest";
- private static final String URL = "http://localhost:" +
CXFTestSupport.getPort1() + CONTEXT
- + "/rest/customerservice/customers/123";
private final AtomicInteger processed = new AtomicInteger();
private final CountDownLatch entered = new CountDownLatch(1);
@@ -53,7 +55,7 @@ class CxfRsConsumerSuspendTest extends CamelTestSupport {
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- from("cxfrs://http://localhost:" + CXFTestSupport.getPort1() +
CONTEXT + "/rest"
+ from("cxfrs://http://localhost:" + PORT.getPort() + CONTEXT +
"/rest"
+
"?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService")
.routeId("rs")
.process(exchange -> {
@@ -69,8 +71,9 @@ class CxfRsConsumerSuspendTest extends CamelTestSupport {
@Test
void testSuspendedRouteRejectsRequests() throws Exception {
+ String url = "http://localhost:" + PORT.getPort() + CONTEXT +
"/rest/customerservice/customers/123";
HttpClient client = HttpClient.newHttpClient();
- HttpRequest request =
HttpRequest.newBuilder(URI.create(URL)).GET().build();
+ HttpRequest request =
HttpRequest.newBuilder(URI.create(url)).GET().build();
assertEquals(200, client.send(request,
HttpResponse.BodyHandlers.ofString()).statusCode());
context.getRouteController().suspendRoute("rs");
@@ -85,9 +88,10 @@ class CxfRsConsumerSuspendTest extends CamelTestSupport {
@Test
void testGracefulStopCompletesInflightAndRejectsNewRequests() throws
Exception {
+ String url = "http://localhost:" + PORT.getPort() + CONTEXT +
"/rest/customerservice/customers/123";
block = true;
HttpClient client = HttpClient.newHttpClient();
- HttpRequest request =
HttpRequest.newBuilder(URI.create(URL)).GET().build();
+ HttpRequest request =
HttpRequest.newBuilder(URI.create(url)).GET().build();
// the consumer is asynchronous by default: the continuation of this
request resumes after the suspend
CompletableFuture<HttpResponse<String>> inflight =
client.sendAsync(request, HttpResponse.BodyHandlers.ofString());
assertTrue(entered.await(20, TimeUnit.SECONDS));
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerWithBeanTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerWithBeanTest.java
index 18361308a45c..eb85cbf3406f 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerWithBeanTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerWithBeanTest.java
@@ -17,11 +17,11 @@
package org.apache.camel.component.cxf.jaxrs;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
import org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource;
import org.apache.camel.component.cxf.jaxrs.testbean.ServiceUtil;
import org.apache.camel.spi.Registry;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.hc.client5.http.classic.methods.HttpPut;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -30,17 +30,15 @@ import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.http.io.entity.StringEntity;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CxfRsConsumerWithBeanTest extends CamelTestSupport {
- private static final String CXT = CXFTestSupport.getPort1() +
"/CxfRsConsumerWithBeanTest";
- private static final String CXF_RS_ENDPOINT_URI
- = "cxfrs://http://localhost:" + CXT
- +
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource";
- private static final String CXF_RS_ENDPOINT_URI_2
- = "cxfrs://http://localhost:" + CXT
- +
"/rest2?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource";
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+ private static final String CONTEXT = "/CxfRsConsumerWithBeanTest";
private static final String CXF_RS_BEAN_ENDPOINT_URI =
"cxfrs:bean:myEndpoint";
@Override
@@ -49,7 +47,7 @@ public class CxfRsConsumerWithBeanTest extends
CamelTestSupport {
CxfRsEndpoint cxfRsEndpoint = new CxfRsEndpoint();
cxfRsEndpoint.addResourceClass(CustomerServiceResource.class);
- cxfRsEndpoint.setAddress("http://localhost:" + CXT + "/rest3");
+ cxfRsEndpoint.setAddress("http://localhost:" + PORT.getPort() +
CONTEXT + "/rest3");
registry.bind("myEndpoint", cxfRsEndpoint);
}
@@ -57,8 +55,12 @@ public class CxfRsConsumerWithBeanTest extends
CamelTestSupport {
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() {
-
from(CXF_RS_ENDPOINT_URI).to("bean://service?method=invoke(${body[0]},
${body[1]})");
- from(CXF_RS_ENDPOINT_URI_2).bean(ServiceUtil.class,
"invoke(${body[0]}, ${body[1]})");
+ from("cxfrs://http://localhost:" + PORT.getPort() + CONTEXT
+ +
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource")
+ .to("bean://service?method=invoke(${body[0]},
${body[1]})");
+ from("cxfrs://http://localhost:" + PORT.getPort() + CONTEXT
+ +
"/rest2?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource")
+ .bean(ServiceUtil.class, "invoke(${body[0]},
${body[1]})");
from(CXF_RS_BEAN_ENDPOINT_URI).to("bean://service?method=invoke(${body[0]},
${body[1]})");
}
};
@@ -66,9 +68,9 @@ public class CxfRsConsumerWithBeanTest extends
CamelTestSupport {
@Test
public void testPutConsumer() throws Exception {
- sendPutRequest("http://localhost:" + CXT +
"/rest/customerservice/c20");
- sendPutRequest("http://localhost:" + CXT +
"/rest2/customerservice/c20");
- sendPutRequest("http://localhost:" + CXT +
"/rest3/customerservice/c20");
+ sendPutRequest("http://localhost:" + PORT.getPort() + CONTEXT +
"/rest/customerservice/c20");
+ sendPutRequest("http://localhost:" + PORT.getPort() + CONTEXT +
"/rest2/customerservice/c20");
+ sendPutRequest("http://localhost:" + PORT.getPort() + CONTEXT +
"/rest3/customerservice/c20");
}
private void sendPutRequest(String uri) throws Exception {
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConvertBodyToTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConvertBodyToTest.java
index fb9b3f1b5737..4bd930e1ff1d 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConvertBodyToTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConvertBodyToTest.java
@@ -19,10 +19,10 @@ package org.apache.camel.component.cxf.jaxrs;
import jakarta.ws.rs.core.Response;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
import org.apache.camel.component.cxf.jaxrs.testbean.Customer;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.hc.client5.http.classic.methods.HttpPut;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -32,32 +32,34 @@ import org.apache.hc.core5.http.HttpEntity;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.http.io.entity.StringEntity;
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;
import static org.junit.jupiter.api.Assertions.assertNull;
public class CxfRsConvertBodyToTest extends CamelTestSupport {
- private static final String PUT_REQUEST =
"<Customer><name>Mary</name><id>123</id></Customer>";
- private static final String CXT = CXFTestSupport.getPort1() +
"/CxfRsConvertBodyToTest";
- private static final String CXF_RS_ENDPOINT_URI
- = "cxfrs://http://localhost:" + CXT
- +
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
-
- // Define a separate endpoint for the status code test to avoid
interference
- private static final String CXF_RS_STATUS_TEST_URI
- = "cxfrs://http://localhost:" + CXFTestSupport.getPort2()
- +
"/reststatus?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
-
- private static final String CXF_RS_STATUS_TEST_URL
- = "http://localhost:" + CXFTestSupport.getPort2() +
"/reststatus/customerservice/customers";
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT1 = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT2 = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT3 = AvailablePortFinder.find();
- private static final String CXF_RS_EMPTY_BODY_TEST_URI
- = "cxfrs://http://localhost:" + CXFTestSupport.getPort3()
- +
"/restempty?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
-
- private static final String CXF_RS_EMPTY_BODY_TEST_URL
- = "http://localhost:" + CXFTestSupport.getPort3() +
"/restempty/customerservice/customers";
+ private static final String PUT_REQUEST =
"<Customer><name>Mary</name><id>123</id></Customer>";
+ private static final String RESOURCES =
"resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
+ private static final String REST_ENDPOINT_URI
+ = "cxfrs://http://localhost:" + PORT1.getPort() +
"/CxfRsConvertBodyToTest/rest?" + RESOURCES;
+ private static final String STATUS_ENDPOINT_URI
+ = "cxfrs://http://localhost:" + PORT2.getPort() + "/reststatus?" +
RESOURCES;
+ private static final String EMPTY_ENDPOINT_URI
+ = "cxfrs://http://localhost:" + PORT3.getPort() + "/restempty?" +
RESOURCES;
+ private static final String REST_TEST_URL
+ = "http://localhost:" + PORT1.getPort() +
"/CxfRsConvertBodyToTest/rest/customerservice/customers";
+ private static final String STATUS_TEST_URL
+ = "http://localhost:" + PORT2.getPort() +
"/reststatus/customerservice/customers";
+ private static final String EMPTY_TEST_URL
+ = "http://localhost:" + PORT3.getPort() +
"/restempty/customerservice/customers";
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
@@ -65,7 +67,7 @@ public class CxfRsConvertBodyToTest extends CamelTestSupport {
public void configure() {
Response ok = Response.ok().build();
- from(CXF_RS_ENDPOINT_URI)
+ from(REST_ENDPOINT_URI)
// should be able to convert to Customer
.convertBodyTo(Customer.class)
.to("mock:result")
@@ -74,7 +76,7 @@ public class CxfRsConvertBodyToTest extends CamelTestSupport {
// New Route: Intentionally uses an EIP (.log()) after setting
the JAX-RS Response
// to trigger the StreamCache conversion.
- from(CXF_RS_STATUS_TEST_URI)
+ from(STATUS_ENDPOINT_URI)
.to("mock:statusCheckResult")
// Set Response object with custom status 202 inside a
processor
.process(exchange -> {
@@ -86,7 +88,7 @@ public class CxfRsConvertBodyToTest extends CamelTestSupport {
.log("Checking if status is still 202 after logging.");
// Route for testing empty body scenario (No Entity)
- from(CXF_RS_EMPTY_BODY_TEST_URI)
+ from(EMPTY_ENDPOINT_URI)
.to("mock:emptyBodyResult")
.process(exchange -> {
// Creating a response with NO entity
@@ -105,7 +107,7 @@ public class CxfRsConvertBodyToTest extends
CamelTestSupport {
mock.expectedMessageCount(1);
mock.message(0).body().isInstanceOf(Customer.class);
- HttpPut put = new HttpPut("http://localhost:" + CXT +
"/rest/customerservice/customers");
+ HttpPut put = new HttpPut(REST_TEST_URL);
StringEntity entity = new StringEntity(PUT_REQUEST,
ContentType.parse("text/xml; charset=ISO-8859-1"));
put.addHeader("test", "header1;header2");
put.setEntity(entity);
@@ -126,7 +128,7 @@ public class CxfRsConvertBodyToTest extends
CamelTestSupport {
MockEndpoint mock = getMockEndpoint("mock:statusCheckResult");
mock.expectedMessageCount(1);
- HttpPut put = new HttpPut(CXF_RS_STATUS_TEST_URL);
+ HttpPut put = new HttpPut(STATUS_TEST_URL);
StringEntity entity = new StringEntity(PUT_REQUEST,
ContentType.parse("text/xml; charset=ISO-8859-1"));
put.setEntity(entity);
@@ -152,7 +154,7 @@ public class CxfRsConvertBodyToTest extends
CamelTestSupport {
MockEndpoint mock = getMockEndpoint("mock:emptyBodyResult");
mock.expectedMessageCount(1);
- HttpPut put = new HttpPut(CXF_RS_EMPTY_BODY_TEST_URL);
+ HttpPut put = new HttpPut(EMPTY_TEST_URL);
StringEntity entity = new StringEntity(PUT_REQUEST,
ContentType.parse("text/xml; charset=ISO-8859-1"));
put.setEntity(entity);
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerHttpMethodHeaderTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerHttpMethodHeaderTest.java
index a14490f9b24e..76b4090648b6 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerHttpMethodHeaderTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerHttpMethodHeaderTest.java
@@ -24,15 +24,19 @@ import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+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.assertFalse;
public class CxfRsProducerHttpMethodHeaderTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
@Test
public void testHttpMethodHeader() throws Exception {
getMockEndpoint("mock:result").expectedMessageCount(1);
@@ -41,7 +45,7 @@ public class CxfRsProducerHttpMethodHeaderTest extends
CamelTestSupport {
getMockEndpoint("mock:result").message(0).header("org.apache.cxf.request.method").isNull();
Exchange exchange = context.createProducerTemplate().send(
- "cxfrs://http://localhost:" + CXFTestSupport.getPort7() +
"/CxfRsProducerHttpMethodHeaderTest",
+ "cxfrs://http://localhost:" + PORT.getPort() +
"/CxfRsProducerHttpMethodHeaderTest",
new Processor() {
public void process(Exchange exchange) throws Exception {
exchange.setPattern(ExchangePattern.InOut);
@@ -73,7 +77,7 @@ public class CxfRsProducerHttpMethodHeaderTest extends
CamelTestSupport {
@Override
public void configure() throws Exception {
fromF("undertow://http://localhost:%s/CxfRsProducerHttpMethodHeaderTest/?matchOnUriPrefix=true",
- CXFTestSupport.getPort7())
+ PORT.getPort())
.to("mock:result");
}
};
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerParameterParsingTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerParameterParsingTest.java
index 5683f15966b0..869dd1621a8f 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerParameterParsingTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerParameterParsingTest.java
@@ -23,16 +23,18 @@ import org.apache.camel.ExchangePattern;
import org.apache.camel.Message;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+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.assertNull;
public class CxfRsProducerParameterParsingTest extends CamelTestSupport {
- private static final int PORT = CXFTestSupport.getPort7();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
@Test
public void testValuelessQueryParameter() {
@@ -63,7 +65,7 @@ public class CxfRsProducerParameterParsingTest extends
CamelTestSupport {
private Exchange sendWithQuery(String queryString) {
return context.createProducerTemplate().send(
- "cxfrs://http://localhost:" + PORT +
"/CxfRsProducerParameterParsingTest",
+ "cxfrs://http://localhost:" + PORT.getPort() +
"/CxfRsProducerParameterParsingTest",
exchange -> {
exchange.setPattern(ExchangePattern.InOut);
Message inMessage = exchange.getIn();
@@ -80,7 +82,7 @@ public class CxfRsProducerParameterParsingTest extends
CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
-
fromF("undertow://http://localhost:%s/CxfRsProducerParameterParsingTest/?matchOnUriPrefix=true",
PORT)
+
fromF("undertow://http://localhost:%s/CxfRsProducerParameterParsingTest/?matchOnUriPrefix=true",
PORT.getPort())
.to("mock:result");
}
};
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsResponseWithHeadersTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsResponseWithHeadersTest.java
index d47909c9792e..3a7ce022f08b 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsResponseWithHeadersTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsResponseWithHeadersTest.java
@@ -18,8 +18,8 @@ package org.apache.camel.component.cxf.jaxrs;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.hc.client5.http.classic.methods.HttpPut;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -28,14 +28,17 @@ import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.http.io.entity.StringEntity;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CxfRsResponseWithHeadersTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
private static final String PUT_REQUEST =
"<Customer><name>Mary</name><id>123</id></Customer>";
- private static final String CXT = CXFTestSupport.getPort1() +
"/CxfRsResponseWithHeadersTest";
private static final String CXF_RS_ENDPOINT_URI
- = "cxfrs://http://localhost:" + CXT
+ = "cxfrs://http://localhost:" + PORT.getPort() +
"/CxfRsResponseWithHeadersTest"
+
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
@Override
@@ -54,7 +57,8 @@ public class CxfRsResponseWithHeadersTest extends
CamelTestSupport {
@Test
public void testPutConsumer() throws Exception {
- HttpPut put = new HttpPut("http://localhost:" + CXT +
"/rest/customerservice/customers");
+ HttpPut put = new HttpPut(
+ "http://localhost:" + PORT.getPort() +
"/CxfRsResponseWithHeadersTest/rest/customerservice/customers");
StringEntity entity = new StringEntity(PUT_REQUEST,
ContentType.parse("text/xml; charset=ISO-8859-1"));
put.setEntity(entity);
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java
index 50f19f16129f..d13375874622 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java
@@ -20,7 +20,7 @@ import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.hc.client5.http.classic.methods.HttpPut;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -29,6 +29,7 @@ import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.http.io.entity.StringEntity;
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;
@@ -46,21 +47,19 @@ import static
org.junit.jupiter.api.Assertions.assertNotNull;
*/
public class CxfRsStreamCacheContentTypeTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
private static final String PUT_REQUEST =
"<Customer><name>Mary</name><id>123</id></Customer>";
private static final String JSON_RESPONSE =
"{\"name\":\"Mary\",\"id\":123}";
private static final String CONTEXT = "/CxfRsStreamCacheContentTypeTest";
- private static final int PORT = CXFTestSupport.getPort5();
- private static final String CXT = PORT + CONTEXT;
-
- private static final String CXF_RS_ENDPOINT_URI
- = "cxfrs://http://localhost:" + CXT
- +
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- from(CXF_RS_ENDPOINT_URI)
+ from("cxfrs://http://localhost:" + PORT.getPort() + CONTEXT
+ +
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService")
.process(exchange -> {
// Return a Response with explicit JSON content
type and a custom header,
// mimicking the reproducer's
EchoServiceImpl.echoVariable()
@@ -88,7 +87,7 @@ public class CxfRsStreamCacheContentTypeTest extends
CamelTestSupport {
*/
@Test
public void testContentTypePreservedAfterStreamCacheConversion() throws
Exception {
- HttpPut put = new HttpPut("http://localhost:" + CXT +
"/rest/customerservice/customers");
+ HttpPut put = new HttpPut("http://localhost:" + PORT.getPort() +
CONTEXT + "/rest/customerservice/customers");
StringEntity entity = new StringEntity(PUT_REQUEST,
ContentType.parse("text/xml; charset=ISO-8859-1"));
put.setEntity(entity);
@@ -116,7 +115,7 @@ public class CxfRsStreamCacheContentTypeTest extends
CamelTestSupport {
*/
@Test
public void testCustomHeaderPreservedAfterStreamCacheConversion() throws
Exception {
- HttpPut put = new HttpPut("http://localhost:" + CXT +
"/rest/customerservice/customers");
+ HttpPut put = new HttpPut("http://localhost:" + PORT.getPort() +
CONTEXT + "/rest/customerservice/customers");
StringEntity entity = new StringEntity(PUT_REQUEST,
ContentType.parse("text/xml; charset=ISO-8859-1"));
put.setEntity(entity);
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheTest.java
index 2e226b5f8fc6..bdf82f12e214 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheTest.java
@@ -20,12 +20,12 @@ import java.nio.charset.StandardCharsets;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
import org.apache.camel.component.cxf.jaxrs.testbean.Customer;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.converter.stream.CachedOutputStream;
import org.apache.camel.spi.Synchronization;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.hc.client5.http.classic.methods.HttpPut;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -34,17 +34,21 @@ import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.http.io.entity.StringEntity;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CxfRsStreamCacheTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
private static final String PUT_REQUEST =
"<Customer><name>Mary</name><id>123</id></Customer>";
private static final String CONTEXT = "/CxfRsStreamCacheTest";
- private static final String CXT = CXFTestSupport.getPort1() + CONTEXT;
private static final String RESPONSE = "<pong xmlns=\"test/service\"/>";
- private final String cxfRsEndpointUri = "cxfrs://http://localhost:" + CXT
+ "/rest?synchronous=" + isSynchronous()
- +
"&dataFormat=PAYLOAD&resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
+ private final String cxfRsEndpointUri
+ = "cxfrs://http://localhost:" + PORT.getPort() + CONTEXT +
"/rest?synchronous=" + isSynchronous()
+ +
"&dataFormat=PAYLOAD&resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
@@ -93,7 +97,7 @@ public class CxfRsStreamCacheTest extends CamelTestSupport {
MockEndpoint onComplete = getMockEndpoint("mock:onComplete");
onComplete.expectedMessageCount(1);
- HttpPut put = new HttpPut("http://localhost:" + CXT +
"/rest/customerservice/customers");
+ HttpPut put = new HttpPut("http://localhost:" + PORT.getPort() +
CONTEXT + "/rest/customerservice/customers");
StringEntity entity = new StringEntity(PUT_REQUEST,
ContentType.parse("text/xml; charset=ISO-8859-1"));
put.addHeader("test", "header1;header2");
put.setEntity(entity);
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingImplTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingImplTest.java
index a53a16842746..7362c75ea276 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingImplTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingImplTest.java
@@ -24,12 +24,12 @@ import jakarta.xml.bind.JAXBContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Customer;
import
org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerList;
import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Order;
import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Product;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.apache.hc.client5.http.classic.methods.HttpPost;
@@ -38,6 +38,7 @@ import
org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.http.io.entity.StringEntity;
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;
@@ -46,8 +47,10 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
* Tests for the Simple Binding style of CXF JAX-RS consumers.
*/
public class CxfRsConsumerSimpleBindingImplTest extends CamelTestSupport {
- private static final String PORT_PATH = CXFTestSupport.getPort1() +
"/CxfRsConsumerTest";
- private static final String CXF_RS_ENDPOINT_URI =
"cxfrs://http://localhost:" + PORT_PATH
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+ private static final String CXF_RS_ENDPOINT_URI =
"cxfrs://http://localhost:" + PORT.getPort() + "/CxfRsConsumerTest"
+
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerServiceImpl&bindingStyle=SimpleConsumer";
private JAXBContext jaxb;
@@ -97,7 +100,8 @@ public class CxfRsConsumerSimpleBindingImplTest extends
CamelTestSupport {
@Test
public void testGetCustomerOnlyHeaders() throws Exception {
- HttpGet get = new HttpGet("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/123");
+ HttpGet get = new HttpGet(
+ "http://localhost:" + PORT.getPort() + "/CxfRsConsumerTest" +
"/rest/customerservice/customers/123");
get.addHeader("Accept", "text/xml");
MyResponse httpResponse = httpclient.execute(get, response -> {
return new MyResponse(response.getCode(),
EntityUtils.toString(response.getEntity()));
@@ -109,7 +113,8 @@ public class CxfRsConsumerSimpleBindingImplTest extends
CamelTestSupport {
@Test
public void testNewCustomerWithQueryParam() throws Exception {
- HttpPost post = new HttpPost("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers?age=12");
+ HttpPost post = new HttpPost(
+ "http://localhost:" + PORT.getPort() + "/CxfRsConsumerTest" +
"/rest/customerservice/customers?age=12");
StringWriter sw = new StringWriter();
jaxb.createMarshaller().marshal(new Customer(123, "Raul"), sw);
post.setEntity(new StringEntity(sw.toString()));
diff --git
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingTest.java
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingTest.java
index 866e2bcded5f..b48edc4858ee 100644
---
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingTest.java
+++
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingTest.java
@@ -30,12 +30,12 @@ import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.attachment.AttachmentMessage;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Customer;
import
org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerList;
import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Order;
import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Product;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.message.MessageContentsList;
import org.apache.hc.client5.http.classic.methods.HttpDelete;
@@ -51,6 +51,7 @@ import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.http.io.entity.InputStreamEntity;
import org.apache.hc.core5.http.io.entity.StringEntity;
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;
@@ -62,8 +63,11 @@ import static org.junit.jupiter.api.Assertions.fail;
* Tests for the Simple Binding style of CXF JAX-RS consumers.
*/
public class CxfRsConsumerSimpleBindingTest extends CamelTestSupport {
- private static final String PORT_PATH = CXFTestSupport.getPort1() +
"/CxfRsConsumerTest";
- private static final String CXF_RS_ENDPOINT_URI =
"cxfrs://http://localhost:" + PORT_PATH
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+ private static final String BASE_URL = "http://localhost:" +
PORT.getPort() + "/CxfRsConsumerTest";
+ private static final String CXF_RS_ENDPOINT_URI = "cxfrs://" + BASE_URL
+
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerServiceResource&bindingStyle=SimpleConsumer";
private JAXBContext jaxb;
@@ -204,7 +208,8 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testGetCustomerOnlyHeaders() throws Exception {
- HttpGet get = new HttpGet("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/123");
+ HttpGet get = new HttpGet(
+ BASE_URL + "/rest/customerservice/customers/123");
get.addHeader("Accept", "text/xml");
MyResponse httpResponse = httpclient.execute(get, response -> {
return new MyResponse(response.getCode(),
EntityUtils.toString(response.getEntity()));
@@ -216,7 +221,8 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testGetCustomerHttp404CustomStatus() throws Exception {
- HttpGet get = new HttpGet("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/456");
+ HttpGet get = new HttpGet(
+ BASE_URL + "/rest/customerservice/customers/456");
get.addHeader("Accept", "text/xml");
Integer status = httpclient.execute(get, response ->
response.getCode());
assertEquals(404, status);
@@ -224,7 +230,8 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testUpdateCustomerBodyAndHeaders() throws Exception {
- HttpPut put = new HttpPut("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/123");
+ HttpPut put = new HttpPut(
+ BASE_URL + "/rest/customerservice/customers/123");
StringWriter sw = new StringWriter();
jaxb.createMarshaller().marshal(new Customer(123, "Raul"), sw);
put.setEntity(new StringEntity(sw.toString()));
@@ -236,7 +243,8 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testNewCustomerOnlyBody() throws Exception {
- HttpPost post = new HttpPost("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers");
+ HttpPost post
+ = new HttpPost(BASE_URL + "/rest/customerservice/customers");
StringWriter sw = new StringWriter();
jaxb.createMarshaller().marshal(new Customer(123, "Raul"), sw);
post.setEntity(new StringEntity(sw.toString()));
@@ -248,7 +256,8 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testListVipCustomers() throws Exception {
- HttpGet get = new HttpGet("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/vip/gold");
+ HttpGet get = new HttpGet(
+ BASE_URL + "/rest/customerservice/customers/vip/gold");
get.addHeader("Content-Type", "text/xml");
get.addHeader("Accept", "text/xml");
MyResponse httpResponse = httpclient.execute(get, response -> {
@@ -265,7 +274,8 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testUpdateVipCustomer() throws Exception {
- HttpPut put = new HttpPut("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/vip/gold/123");
+ HttpPut put = new HttpPut(
+ BASE_URL + "/rest/customerservice/customers/vip/gold/123");
StringWriter sw = new StringWriter();
jaxb.createMarshaller().marshal(new Customer(123, "Raul2"), sw);
put.setEntity(new StringEntity(sw.toString()));
@@ -277,7 +287,8 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testDeleteVipCustomer() throws Exception {
- HttpDelete delete = new HttpDelete("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/vip/gold/123");
+ HttpDelete delete = new HttpDelete(
+ BASE_URL + "/rest/customerservice/customers/vip/gold/123");
delete.addHeader("Accept", "text/xml");
Integer status = httpclient.execute(delete, response ->
response.getCode());
assertEquals(200, status);
@@ -285,7 +296,9 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testUploadInputStream() throws Exception {
- HttpPost post = new HttpPost("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/123/image_inputstream");
+ HttpPost post = new HttpPost(
+ BASE_URL
+ +
"/rest/customerservice/customers/123/image_inputstream");
post.addHeader("Content-Type", "image/jpeg");
post.addHeader("Accept", "text/xml");
post.setEntity(new
InputStreamEntity(this.getClass().getClassLoader().getResourceAsStream("java.jpg"),
100, null));
@@ -295,7 +308,9 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testUploadDataHandler() throws Exception {
- HttpPost post = new HttpPost("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/123/image_datahandler");
+ HttpPost post = new HttpPost(
+ BASE_URL
+ +
"/rest/customerservice/customers/123/image_datahandler");
post.addHeader("Content-Type", "image/jpeg");
post.addHeader("Accept", "text/xml");
post.setEntity(new
InputStreamEntity(this.getClass().getClassLoader().getResourceAsStream("java.jpg"),
100, null));
@@ -306,7 +321,9 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testMultipartPostWithParametersAndPayload() throws Exception {
HttpPost post
- = new HttpPost("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/multipart/123?query=abcd");
+ = new HttpPost(
+ BASE_URL
+ +
"/rest/customerservice/customers/multipart/123?query=abcd");
MultipartEntityBuilder builder =
MultipartEntityBuilder.create().setMode(HttpMultipartMode.STRICT);
builder.addBinaryBody("part1", new
File(this.getClass().getClassLoader().getResource("java.jpg").toURI()),
ContentType.create("image/jpeg"), "java.jpg");
@@ -323,7 +340,9 @@ public class CxfRsConsumerSimpleBindingTest extends
CamelTestSupport {
@Test
public void testMultipartPostWithoutParameters() throws Exception {
HttpPost post
- = new HttpPost("http://localhost:" + PORT_PATH +
"/rest/customerservice/customers/multipart/withoutParameters");
+ = new HttpPost(
+ BASE_URL
+ +
"/rest/customerservice/customers/multipart/withoutParameters");
MultipartEntityBuilder builder =
MultipartEntityBuilder.create().setMode(HttpMultipartMode.STRICT);
builder.addBinaryBody("part1", new
File(this.getClass().getClassLoader().getResource("java.jpg").toURI()),
ContentType.create("image/jpeg"), "java.jpg");
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
index 175ece23a516..12bd6cc08558 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
@@ -19,17 +19,21 @@ package org.apache.camel.component.cxf.holder;
import jakarta.xml.ws.Holder;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.frontend.ClientFactoryBean;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CxfHolderConsumerTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
protected static final String ADDRESS = "http://localhost:"
- + CXFTestSupport.getPort1() +
"/CxfHolderConsumerTest/test";
+ + PORT.getPort() +
"/CxfHolderConsumerTest/test";
protected static final String CXF_ENDPOINT_URI = "cxf://" + ADDRESS
+
"?serviceClass=org.apache.camel.component.cxf.holder.MyOrderEndpoint"
+
"&loggingFeatureEnabled=true";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeMultiPartNoSpringTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeMultiPartNoSpringTest.java
index daf5dfb82cc7..5b641187163d 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeMultiPartNoSpringTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeMultiPartNoSpringTest.java
@@ -25,7 +25,7 @@ import jakarta.xml.ws.Holder;
import javax.xml.namespace.QName;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.wsdl_first.PersonMultiPartImpl;
import org.apache.camel.wsdl_first.PersonMultiPartPortType;
@@ -33,6 +33,7 @@ import org.apache.camel.wsdl_first.PersonMultiPartService;
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 org.junit.jupiter.api.Assertions.assertEquals;
@@ -40,8 +41,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
* Unit test that verifies multi part SOAP message functionality
*/
public class CXFWsdlOnlyPayloadModeMultiPartNoSpringTest extends
CamelTestSupport {
- protected static int port1 = CXFTestSupport.getPort1();
- protected static int port2 = CXFTestSupport.getPort2();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT_2 = AvailablePortFinder.find();
+
+ protected static int port1 = PORT.getPort();
+ protected static int port2 = PORT_2.getPort();
protected static final String SERVICE_NAME_PROP = "serviceName=";
protected static final String PORT_NAME_PROP =
"portName={http://camel.apache.org/wsdl-first}PersonMultiPartPort";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java
index a6954228513c..794e1c5d854b 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java
@@ -27,7 +27,7 @@ import javax.xml.namespace.QName;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.wsdl_first.Person;
import org.apache.camel.wsdl_first.PersonImpl;
@@ -40,6 +40,7 @@ import org.apache.cxf.frontend.ClientProxy;
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 org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -48,18 +49,19 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CXFWsdlOnlyPayloadModeNoSpringTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+ @RegisterExtension
+ final AvailablePortFinder.Port port2 = AvailablePortFinder.find();
protected static final String SERVICE_NAME_PROP = "serviceName=";
protected static final String PORT_NAME_PROP =
"portName={http://camel.apache.org/wsdl-first}soap";
protected static final String WSDL_URL_PROP =
"wsdlURL=classpath:person.wsdl";
protected Endpoint endpoint;
- protected int port1 = CXFTestSupport.getPort1();
- protected int port2 = CXFTestSupport.getPort2();
-
@BeforeEach
public void startService() {
- endpoint = Endpoint.publish("http://localhost:" + port1 + "/" +
getClass().getSimpleName()
+ endpoint = Endpoint.publish("http://localhost:" + port1.getPort() +
"/" + getClass().getSimpleName()
+ "/PersonService",
new PersonImpl());
}
@@ -116,7 +118,7 @@ public class CXFWsdlOnlyPayloadModeNoSpringTest extends
CamelTestSupport {
((BindingProvider) client).getRequestContext()
.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
- "http://localhost:" + port1 + "/" +
getClass().getSimpleName() + "/PersonService");
+ "http://localhost:" + port1.getPort() + "/" +
getClass().getSimpleName() + "/PersonService");
c.getInInterceptors().add(new LoggingInInterceptor());
c.getOutInterceptors().add(new LoggingOutInterceptor());
@@ -137,7 +139,7 @@ public class CXFWsdlOnlyPayloadModeNoSpringTest extends
CamelTestSupport {
Person client = ss.getSoap();
((BindingProvider) client).getRequestContext()
.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
- "http://localhost:" + port1 + "/"
+ "http://localhost:" + port1.getPort() + "/"
+
getClass().getSimpleName() + "/PersonService");
Client c = ClientProxy.getClient(client);
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerClientDisconnectedTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerClientDisconnectedTest.java
index 2f1cd5364e8c..ab3c6f48c2be 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerClientDisconnectedTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerClientDisconnectedTest.java
@@ -21,20 +21,23 @@ import java.io.OutputStreamWriter;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.spi.Synchronization;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.commons.net.telnet.TelnetClient;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
/**
* UnitOfWork should complete even if client disconnected during the
processing.
*/
public class CxfConsumerClientDisconnectedTest extends CamelTestSupport {
- private static final int PORT = CXFTestSupport.getPort1();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
private static final String CONTEXT = "/CxfConsumerClientDisconnectedTest";
- private static final String CXT = PORT + CONTEXT;
+ private static final String CXT = PORT.getPort() + CONTEXT;
private String cxfRsEndpointUri = "cxf://http://localhost:" + CXT +
"/rest?synchronous=" + isSynchronous()
+
"&serviceClass=org.apache.camel.component.cxf.jaxws.ServiceProvider&dataFormat=PAYLOAD";
@@ -83,7 +86,7 @@ public class CxfConsumerClientDisconnectedTest extends
CamelTestSupport {
TelnetClient telnetClient = new TelnetClient();
- telnetClient.connect("localhost", PORT);
+ telnetClient.connect("localhost", PORT.getPort());
telnetClient.setTcpNoDelay(true);
telnetClient.setReceiveBufferSize(1);
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
index 8c505d3a9175..49dc5eaa2c38 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
@@ -22,16 +22,19 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.support.AsyncProcessorSupport;
+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.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfConsumerContinuationTimeoutTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
private static final String ECHO_METHOD = "ns1:echo
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\"";
@@ -46,7 +49,7 @@ public class CxfConsumerContinuationTimeoutTest extends
CamelTestSupport {
+ "</ns1:echoBooleanResponse></soap:Body></soap:Envelope>";
protected final String simpleEndpointAddress = "http://localhost:"
- + CXFTestSupport.getPort1()
+ "/" + getClass().getSimpleName() + "/test";
+ + port1.getPort() + "/" +
getClass().getSimpleName() + "/test";
protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
+
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMessageTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMessageTest.java
index ceb5ae6780f9..23508993454b 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMessageTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMessageTest.java
@@ -20,18 +20,22 @@ import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.BusFactory;
import org.apache.cxf.frontend.ClientFactoryBean;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
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;
import static org.junit.jupiter.api.Assertions.assertNull;
public class CxfConsumerMessageTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port = AvailablePortFinder.find();
+
private static final String TEST_MESSAGE = "Hello World!";
private static final String ECHO_METHOD = "ns1:echo
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\"";
@@ -47,7 +51,7 @@ public class CxfConsumerMessageTest extends CamelTestSupport {
+ "</ns1:echoBooleanResponse></soap:Body></soap:Envelope>";
protected final String simpleEndpointAddress = "http://localhost:"
- + CXFTestSupport.getPort1()
+ "/" + getClass().getSimpleName() + "/test";
+ + port.getPort() + "/" +
getClass().getSimpleName() + "/test";
protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
+
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
index d9c964b3d870..61fe1fa5790c 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
@@ -17,13 +17,14 @@
package org.apache.camel.component.cxf.jaxws;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.frontend.ClientFactoryBean;
import org.apache.cxf.greeter_control.Greeter;
import org.apache.cxf.greeter_control.PingMeFault;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -37,15 +38,21 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
* is written against, so it is still returned in full.
*/
class CxfConsumerMuteExceptionTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT_2 = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT_3 = AvailablePortFinder.find();
private static final String DETAIL =
"the-internal-detail-a-caller-must-not-see";
private static final String MUTED_ADDRESS
- = "http://localhost:" + CXFTestSupport.getPort1() +
"/CxfConsumerMuteExceptionTest/muted";
+ = "http://localhost:" + PORT.getPort() +
"/CxfConsumerMuteExceptionTest/muted";
private static final String UNMUTED_ADDRESS
- = "http://localhost:" + CXFTestSupport.getPort2() +
"/CxfConsumerMuteExceptionTest/unmuted";
+ = "http://localhost:" + PORT_2.getPort() +
"/CxfConsumerMuteExceptionTest/unmuted";
private static final String DECLARED_ADDRESS
- = "http://localhost:" + CXFTestSupport.getPort3() +
"/CxfConsumerMuteExceptionTest/declared";
+ = "http://localhost:" + PORT_3.getPort() +
"/CxfConsumerMuteExceptionTest/declared";
private static final String SERVICE_CLASS =
"serviceClass=org.apache.cxf.greeter_control.Greeter";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadFaultTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadFaultTest.java
index 6ed1571bb0d7..cce40524ddd7 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadFaultTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadFaultTest.java
@@ -29,7 +29,7 @@ import org.w3c.dom.Element;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.wsdl_first.Person;
import org.apache.camel.wsdl_first.PersonService;
@@ -41,6 +41,7 @@ import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.staxutils.StaxUtils;
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;
@@ -51,6 +52,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
* Unit test to verify CxfConsumer to generate SOAP fault in PAYLOAD mode
*/
public class CxfConsumerPayloadFaultTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+
protected static final String PORT_NAME_PROP =
"portName={http://camel.apache.org/wsdl-first}soap";
protected static final String SERVICE_NAME =
"{http://camel.apache.org/wsdl-first}PersonService";
protected static final String SERVICE_NAME_PROP = "serviceName=" +
SERVICE_NAME;
@@ -59,7 +63,7 @@ public class CxfConsumerPayloadFaultTest extends
CamelTestSupport {
protected static final String DETAILS = "<detail><UnknownPersonFault
xmlns=\"http://camel.apache.org/wsdl-first/types\">"
+
"<personId></personId></UnknownPersonFault></detail>";
- protected final String serviceAddress = "http://localhost:" +
CXFTestSupport.getPort1()
+ protected final String serviceAddress = "http://localhost:" +
port1.getPort()
+ "/" + getClass().getSimpleName()
+ "/PersonService";
protected final String fromURI = "cxf://" + serviceAddress + "?"
+ PORT_NAME_PROP + "&" +
SERVICE_NAME_PROP + "&" + WSDL_URL_PROP + "&dataFormat=payload";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadXPathClientServerTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadXPathClientServerTest.java
index b1e6346a9cfa..74a016417dad 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadXPathClientServerTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadXPathClientServerTest.java
@@ -29,10 +29,10 @@ import org.w3c.dom.Text;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.CxfPayload;
import org.apache.camel.converter.jaxp.XmlConverter;
import org.apache.camel.language.xpath.XPathBuilder;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.commons.lang3.StringUtils;
import org.apache.cxf.BusFactory;
@@ -40,17 +40,21 @@ import org.apache.cxf.binding.soap.SoapHeader;
import org.apache.cxf.frontend.ClientFactoryBean;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.apache.camel.test.junit6.TestSupport.assertIsInstanceOf;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CxfConsumerPayloadXPathClientServerTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+
private static final String ECHO_RESPONSE = "<ns1:echoResponse
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\">"
+ "<return
xmlns=\"http://jaxws.cxf.component.camel.apache.org/\">echo Hello
World!</return>"
+ "</ns1:echoResponse>";
protected final String simpleEndpointAddress = "http://localhost:"
- + CXFTestSupport.getPort1()
+ "/" + getClass().getSimpleName() + "/test";
+ + port1.getPort() + "/" +
getClass().getSimpleName() + "/test";
protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
+
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerProviderTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerProviderTest.java
index 8bb0683e680e..631cd8fd0bdf 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerProviderTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerProviderTest.java
@@ -22,16 +22,19 @@ import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.converter.jaxp.XmlConverter;
+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.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfConsumerProviderTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
protected static final String REQUEST_MESSAGE
= "<soapenv:Envelope
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:ser=\"test/service\">"
@@ -45,7 +48,7 @@ public class CxfConsumerProviderTest extends CamelTestSupport
{
protected static final String RESPONSE = "<pong xmlns=\"test/service\"/>";
protected final String simpleEndpointAddress = "http://localhost:"
- + CXFTestSupport.getPort1()
+ "/" + getClass().getSimpleName() + "/test";
+ + port1.getPort() + "/" +
getClass().getSimpleName() + "/test";
protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
+
"?serviceClass=org.apache.camel.component.cxf.jaxws.ServiceProvider";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerResponseTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerResponseTest.java
index ba5ff91670ac..2f5eff5ede14 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerResponseTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerResponseTest.java
@@ -26,20 +26,23 @@ import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.DataFormat;
import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.BusFactory;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientFactoryBean;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
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 CxfConsumerResponseTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
private static final String ECHO_OPERATION = "echo";
private static final String ECHO_BOOLEAN_OPERATION = "echoBoolean";
@@ -48,7 +51,7 @@ public class CxfConsumerResponseTest extends CamelTestSupport
{
private static int pingCounter;
protected final String simpleEndpointAddress = "http://localhost:"
- + CXFTestSupport.getPort1()
+ "/" + getClass().getSimpleName() + "/test";
+ + port1.getPort() + "/" +
getClass().getSimpleName() + "/test";
protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
+
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService"
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStartTwiceTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStartTwiceTest.java
index ceb93e4e4164..cf04d1b8b41e 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStartTwiceTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStartTwiceTest.java
@@ -18,20 +18,22 @@ package org.apache.camel.component.cxf.jaxws;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
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.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfConsumerStartTwiceTest {
- static final int PORT = CXFTestSupport.getPort6();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
@Test
public void startServiceTwice() throws Exception {
try (CamelContext context = new DefaultCamelContext()) {
- final String fromStr = "cxf:http://localhost:" + PORT + "/"
+ final String fromStr = "cxf:http://localhost:" + PORT.getPort() +
"/"
+ this.getClass().getSimpleName()
+
"/test?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
@@ -52,7 +54,7 @@ public class CxfConsumerStartTwiceTest {
Exception ex = assertThrows(Exception.class, context::start);
assertTrue(ex.getMessage().endsWith(
- "Multiple consumers for the same endpoint is not allowed:
cxf://http://localhost:" + PORT
+ "Multiple consumers for the same endpoint is not allowed:
cxf://http://localhost:" + PORT.getPort()
+ "/" +
getClass().getSimpleName()
+
"/test?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService"));
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStreamCacheTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStreamCacheTest.java
index ddf9909b4ca5..984d4ced933c 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStreamCacheTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStreamCacheTest.java
@@ -24,12 +24,13 @@ import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.converter.stream.CachedOutputStream;
import org.apache.camel.spi.Synchronization;
+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.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -37,6 +38,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
//Modified from
https://issues.apache.org/jira/secure/attachment/12730161/0001-CAMEL-8419-Camel-StreamCache-does-not-work-with-CXF-.patch
public class CxfConsumerStreamCacheTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
protected static final String REQUEST_MESSAGE
= "<soapenv:Envelope
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:ser=\"test/service\">"
@@ -50,7 +53,7 @@ public class CxfConsumerStreamCacheTest extends
CamelTestSupport {
protected static final String RESPONSE = "<pong xmlns=\"test/service\"/>";
protected final String simpleEndpointAddress = "http://localhost:"
- + CXFTestSupport.getPort1()
+ "/" + getClass().getSimpleName() + "/test";
+ + port1.getPort() + "/" +
getClass().getSimpleName() + "/test";
protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
+ "?synchronous=" +
isSynchronous()
+
"&serviceClass=org.apache.camel.component.cxf.jaxws.ServiceProvider&dataFormat=PAYLOAD";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerSuspendTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerSuspendTest.java
index 5f22a2e74342..80e399c5744a 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerSuspendTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerSuspendTest.java
@@ -24,8 +24,8 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.support.service.ServiceSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.util.ObjectHelper;
import org.apache.cxf.Bus;
@@ -41,6 +41,7 @@ import
org.apache.logging.log4j.core.appender.AbstractAppender;
import org.apache.logging.log4j.core.config.Property;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.awaitility.Awaitility.await;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -53,8 +54,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
* the requests in flight complete.
*/
class CxfConsumerSuspendTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
- private static final String ADDRESS = "http://localhost:" +
CXFTestSupport.getPort1() + "/CxfConsumerSuspendTest/test";
+ private static final String ADDRESS = "http://localhost:" + PORT.getPort()
+ "/CxfConsumerSuspendTest/test";
private final AtomicInteger processed = new AtomicInteger();
private final CountDownLatch entered = new CountDownLatch(1);
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerTest.java
index 7daf04f0898c..fa05ebe8b2c6 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerTest.java
@@ -26,23 +26,27 @@ import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.DataFormat;
import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.BusFactory;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientFactoryBean;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
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;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfConsumerTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
protected static final String SIMPLE_ENDPOINT_ADDRESS = "http://localhost:"
- +
CXFTestSupport.getPort1() + "/CxfConsumerTest/test";
+ + PORT.getPort() +
"/CxfConsumerTest/test";
protected static final String SIMPLE_ENDPOINT_URI = "cxf://" +
SIMPLE_ENDPOINT_ADDRESS
+
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService"
+
"&publishedEndpointUrl=http://www.simple.com/services/test";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfCustomizedExceptionTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfCustomizedExceptionTest.java
index f14df50a16f6..9d7939dfdb9c 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfCustomizedExceptionTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfCustomizedExceptionTest.java
@@ -32,9 +32,9 @@ import org.apache.camel.ExchangePattern;
import org.apache.camel.ExchangePropertyKey;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.util.IOHelper;
import org.apache.cxf.Bus;
@@ -44,12 +44,15 @@ import org.apache.cxf.frontend.ClientFactoryBean;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.apache.cxf.interceptor.Fault;
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;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfCustomizedExceptionTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
protected static final String SERVICE_CLASS =
"serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
private static final String EXCEPTION_MESSAGE = "This is an exception test
message";
@@ -66,7 +69,7 @@ public class CxfCustomizedExceptionTest extends
CamelTestSupport {
// END SNIPPET: FaultDefine
}
- protected String routerAddress = "http://localhost:" +
CXFTestSupport.getPort1()
+ protected String routerAddress = "http://localhost:" + port1.getPort()
+ "/" + getClass().getSimpleName() +
"/router";
protected String routerEndpointURI = "cxf://" + routerAddress + "?" +
SERVICE_CLASS;
protected String serviceURI = "cxf://" + routerAddress + "?" +
SERVICE_CLASS;
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyCamelContextAwareTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyCamelContextAwareTest.java
index 48bff09ba96c..f016a070614a 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyCamelContextAwareTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyCamelContextAwareTest.java
@@ -24,11 +24,12 @@ import org.apache.camel.CamelContextAware;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.CxfPayload;
import org.apache.camel.component.cxf.common.DataFormat;
+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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,9 +40,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
* A unit test for java only CXF in payload mode
*/
public class CxfJavaOnlyCamelContextAwareTest extends CamelTestSupport {
- private static final Logger LOG =
LoggerFactory.getLogger(CxfJavaOnlyCamelContextAwareTest.class);
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
- private static int port1 = CXFTestSupport.getPort1();
+ private static final Logger LOG =
LoggerFactory.getLogger(CxfJavaOnlyCamelContextAwareTest.class);
@Test
public void testCxfEndpointHasCamelContext() throws Exception {
@@ -73,7 +75,7 @@ public class CxfJavaOnlyCamelContextAwareTest extends
CamelTestSupport {
@Override
public void configure() throws Exception {
CxfEndpoint endpoint = new CxfEndpoint();
- endpoint.setAddress("http://localhost:" + port1 +
"/PersonService");
+ endpoint.setAddress("http://localhost:" + PORT.getPort() +
"/PersonService");
endpoint.setServiceNameAsQName(new
QName("http://camel.apache.org/wsdl-first", "PersonService"));
endpoint.setPortNameAsQName(new
QName("http://camel.apache.org/wsdl-first", "soap"));
endpoint.setWsdlURL("classpath:person.wsdl");
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyPayloadModeTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyPayloadModeTest.java
index ad4350e897e6..139f2a866f97 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyPayloadModeTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyPayloadModeTest.java
@@ -21,10 +21,11 @@ import org.w3c.dom.Document;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.CxfPayload;
+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.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -33,9 +34,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
* A unit test for java only CXF in payload mode
*/
public class CxfJavaOnlyPayloadModeTest extends CamelTestSupport {
- private static int port1 = CXFTestSupport.getPort1();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
- private String url = "cxf://http://localhost:" + port1 +
"/CxfJavaOnlyPayloadModeTest/helloworld"
+ private String url = "cxf://http://localhost:" + PORT.getPort() +
"/CxfJavaOnlyPayloadModeTest/helloworld"
+ "?wsdlURL=classpath:person.wsdl"
+
"&serviceName={http://camel.apache.org/wsdl-first}PersonService"
+ "&portName={http://camel.apache.org/wsdl-first}soap"
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMixedModeRouterTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMixedModeRouterTest.java
index 35856b1e9e2a..3ace3053b830 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMixedModeRouterTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMixedModeRouterTest.java
@@ -26,12 +26,12 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.CxfPayload;
import org.apache.camel.component.cxf.common.DataFormat;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.converter.jaxp.XmlConverter;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.BusFactory;
import org.apache.cxf.binding.soap.SoapHeader;
@@ -43,16 +43,20 @@ import org.apache.cxf.staxutils.StaxUtils;
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;
public class CxfMixedModeRouterTest extends CamelTestSupport {
- protected static int port1 = CXFTestSupport.getPort1();
- protected static int port2 = CXFTestSupport.getPort2();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT_2 = AvailablePortFinder.find();
protected static Server server;
- protected static final String ROUTER_ADDRESS = "http://localhost:" + port1
+ "/CxfMixedModeRouterTest/router";
- protected static final String SERVICE_ADDRESS = "http://localhost:" +
port2 + "/CxfMixedModeRouterTest/helloworld";
+ protected static final String ROUTER_ADDRESS = "http://localhost:" +
PORT.getPort() + "/CxfMixedModeRouterTest/router";
+ protected static final String SERVICE_ADDRESS
+ = "http://localhost:" + PORT_2.getPort() +
"/CxfMixedModeRouterTest/helloworld";
protected static final String SERVICE_CLASS =
"serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
private String routerEndpointURI
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMultipleConsumersSupportTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMultipleConsumersSupportTest.java
index 52a952da5bc0..28727d5e5935 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMultipleConsumersSupportTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMultipleConsumersSupportTest.java
@@ -17,24 +17,28 @@
package org.apache.camel.component.cxf.jaxws;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
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.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfMultipleConsumersSupportTest extends CamelTestSupport {
- protected static int port1 = CXFTestSupport.getPort1();
- protected static int port2 = CXFTestSupport.getPort2();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT_2 = AvailablePortFinder.find();
protected static final String SIMPLE_ENDPOINT_ADDRESS
- = "http://localhost:" + port1 +
"/CxfMultipleConsumersSupportTest/test";
+ = "http://localhost:" + PORT.getPort() +
"/CxfMultipleConsumersSupportTest/test";
protected static final String SIMPLE_ENDPOINT_URI = "cxf://" +
SIMPLE_ENDPOINT_ADDRESS
+
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
- protected static final String SIMPLE_OTHER_ADDRESS = "http://localhost:" +
port2 + "/CxfMultipleConsumersSupportTest/test";
+ protected static final String SIMPLE_OTHER_ADDRESS
+ = "http://localhost:" + PORT_2.getPort() +
"/CxfMultipleConsumersSupportTest/test";
protected static final String SIMPLE_OTHER_URI = "cxf://" +
SIMPLE_OTHER_ADDRESS
+
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
@@ -54,7 +58,7 @@ public class CxfMultipleConsumersSupportTest extends
CamelTestSupport {
});
Exception e = assertThrows(Exception.class, context::start);
assertTrue(e.getMessage().endsWith(
- "Multiple consumers for the same endpoint is not allowed:
cxf://http://localhost:" + port1
+ "Multiple consumers for the same endpoint is not allowed:
cxf://http://localhost:" + PORT.getPort()
+
"/CxfMultipleConsumersSupportTest/test?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService"));
}
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfPayLoadSoapHeaderTestAbstract.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfPayLoadSoapHeaderTestAbstract.java
index 193f4046f823..c77fce040917 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfPayLoadSoapHeaderTestAbstract.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfPayLoadSoapHeaderTestAbstract.java
@@ -18,21 +18,24 @@ package org.apache.camel.component.cxf.jaxws;
import jakarta.xml.ws.Endpoint;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class CxfPayLoadSoapHeaderTestAbstract extends CamelTestSupport {
- static int port1 = CXFTestSupport.getPort1();
- static int port2 = CXFTestSupport.getPort2();
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+ @RegisterExtension
+ final AvailablePortFinder.Port port2 = AvailablePortFinder.find();
protected String getRouterEndpointURI() {
- return "cxf:http://localhost:" + port1 + "/" +
getClass().getSimpleName()
+ return "cxf:http://localhost:" + port1.getPort() + "/" +
getClass().getSimpleName()
+
"/pizza_service/services/PizzaService?wsdlURL=classpath:pizza_service.wsdl&dataFormat=PAYLOAD";
}
protected String getServiceEndpointURI() {
- return "cxf:http://localhost:" + port2 + "/" +
getClass().getSimpleName()
+ return "cxf:http://localhost:" + port2.getPort() + "/" +
getClass().getSimpleName()
+
"/new_pizza_service/services/PizzaService?wsdlURL=classpath:pizza_service.wsdl&dataFormat=PAYLOAD";
}
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerContextTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerContextTest.java
index 63067f5ca03a..121d0ac5af69 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerContextTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerContextTest.java
@@ -25,11 +25,12 @@ import jakarta.xml.ws.BindingProvider;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.message.Message;
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;
@@ -40,6 +41,9 @@ public class CxfProducerContextTest extends CxfProducerTest {
// *** This class extends CxfProducerTest, so see that class for other
tests
// run by this code
+ @RegisterExtension
+ final AvailablePortFinder.Port contextPort = AvailablePortFinder.find();
+
private static final String TEST_KEY = "sendSimpleMessage-test";
private static final String TEST_VALUE = "exchange property value should
get passed through request context";
@@ -56,13 +60,13 @@ public class CxfProducerContextTest extends CxfProducerTest
{
@Override
protected String getSimpleEndpointUri() {
- return "cxf://http://localhost:" + CXFTestSupport.getPort4()
+ return "cxf://http://localhost:" + contextPort.getPort()
+
"/CxfProducerContextTest/simple?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
}
@Override
protected String getJaxwsEndpointUri() {
- return "cxf://http://localhost:" + CXFTestSupport.getPort4()
+ return "cxf://http://localhost:" + contextPort.getPort()
+
"/CxfProducerContextTest/jaxws?serviceClass=org.apache.hello_world_soap_http.Greeter";
}
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerRouterTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerRouterTest.java
index c5d043cff220..9b9329907e3d 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerRouterTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerRouterTest.java
@@ -25,10 +25,10 @@ import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Message;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.support.DefaultExchange;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.util.URISupport;
import org.apache.cxf.BusFactory;
@@ -38,6 +38,7 @@ import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.message.MessageContentsList;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,9 +47,12 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfProducerRouterTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
private static final Logger LOG =
LoggerFactory.getLogger(CxfProducerRouterTest.class);
private static final String SIMPLE_SERVER_ADDRESS
- = "http://localhost:" + CXFTestSupport.getPort1() +
"/CxfProducerRouterTest/test";
+ = "http://localhost:" + PORT.getPort() +
"/CxfProducerRouterTest/test";
private static final String REQUEST_MESSAGE = "<soap:Envelope
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ "<soap:Body><ns1:echo
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\">"
+ "<arg0
xmlns=\"http://jaxws.cxf.component.camel.apache.org/\">Hello World!</arg0>"
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSessionTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSessionTest.java
index c52c738834de..54703968a8c1 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSessionTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSessionTest.java
@@ -22,10 +22,10 @@ import java.util.Map;
import org.apache.camel.BindToRegistry;
import org.apache.camel.CamelExecutionException;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.mock.MockEndpoint;
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.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
@@ -35,14 +35,17 @@ import
org.apache.cxf.transport.http_undertow.UndertowHTTPServerEngineFactory;
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;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfProducerSessionTest extends CamelTestSupport {
- private static final int PORT = CXFTestSupport.getPort1();
- private static final String SIMPLE_SERVER_ADDRESS = "http://127.0.0.1:" +
PORT + "/CxfProducerSessionTest/test";
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+ private static final String SIMPLE_SERVER_ADDRESS = "http://127.0.0.1:" +
PORT.getPort() + "/CxfProducerSessionTest/test";
private static final String REQUEST_MESSAGE_EXPRESSION
= "<ns1:echo
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\"><arg0>${in.body}</arg0></ns1:echo>";
private static final Map<String, String> NAMESPACES
@@ -70,7 +73,7 @@ public class CxfProducerSessionTest extends CamelTestSupport {
// make the Undertow server support sessions
Bus bus = BusFactory.newInstance().createBus();
UndertowHTTPServerEngineFactory undertowFactory =
bus.getExtension(UndertowHTTPServerEngineFactory.class);
- undertowFactory.createUndertowHTTPServerEngine(PORT, "http");
+ undertowFactory.createUndertowHTTPServerEngine(PORT.getPort(), "http");
//.setSessionSupport(true);
svrBean.setBus(bus);
svrBean.create();
@@ -80,7 +83,7 @@ public class CxfProducerSessionTest extends CamelTestSupport {
public static void destroyServer() {
// If we don't destroy this the session support will spill over to
other
// tests and they will fail
- UndertowHTTPServerEngineFactory.destroyForPort(PORT);
+ UndertowHTTPServerEngineFactory.destroyForPort(PORT.getPort());
}
@Test
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSoapFaultTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSoapFaultTest.java
index f7629b6fc799..5fa8c5077984 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSoapFaultTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSoapFaultTest.java
@@ -25,23 +25,27 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.hello_world_soap_http.BadRecordLitFault;
import org.apache.hello_world_soap_http.GreeterImpl;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
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;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfProducerSoapFaultTest {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
private static final String JAXWS_SERVER_ADDRESS
- = "http://localhost:" + CXFTestSupport.getPort1() +
"/CxfProducerSoapFaultTest/test";
+ = "http://localhost:" + PORT.getPort() +
"/CxfProducerSoapFaultTest/test";
private static final String JAXWS_ENDPOINT_URI
= "cxf://" + JAXWS_SERVER_ADDRESS +
"?serviceClass=org.apache.hello_world_soap_http.Greeter";
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousFalseTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousFalseTest.java
index f20746b16add..cf81c3144ec1 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousFalseTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousFalseTest.java
@@ -19,19 +19,22 @@ package org.apache.camel.component.cxf.jaxws;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.BusFactory;
import org.apache.cxf.frontend.ServerFactoryBean;
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.assertTrue;
public class CxfProducerSynchronousFalseTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
- private static final String SIMPLE_SERVER_ADDRESS = "http://localhost:" +
CXFTestSupport.getPort1()
+ private static final String SIMPLE_SERVER_ADDRESS = "http://localhost:" +
PORT.getPort()
+
"/CxfProducerSynchronousFalseTest/test";
private static final String REQUEST_MESSAGE = "<soap:Envelope
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ "<soap:Body><ns1:echo
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\">"
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousTest.java
index 15802a26f5fe..38ff5cc58e96 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousTest.java
@@ -19,20 +19,23 @@ package org.apache.camel.component.cxf.jaxws;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.BusFactory;
import org.apache.cxf.frontend.ServerFactoryBean;
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.assertTrue;
public class CxfProducerSynchronousTest extends CamelTestSupport {
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
private static final String SIMPLE_SERVER_ADDRESS
- = "http://localhost:" + CXFTestSupport.getPort1() +
"/CxfProducerSynchronousTest/test";
+ = "http://localhost:" + PORT.getPort() +
"/CxfProducerSynchronousTest/test";
private static final String REQUEST_MESSAGE = "<soap:Envelope
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ "<soap:Body><ns1:echo
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\">"
+ "<arg0
xmlns=\"http://jaxws.cxf.component.camel.apache.org/\">Hello World!</arg0>"
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerTest.java
index ef493a672e02..3e50e7af58e0 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerTest.java
@@ -30,7 +30,6 @@ import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.component.cxf.converter.CxfPayloadConverter;
import org.apache.camel.converter.jaxp.XmlConverter;
@@ -45,6 +44,7 @@ import org.apache.hello_world_soap_http.GreeterImpl;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -54,6 +54,11 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class CxfProducerTest {
+ @RegisterExtension
+ final AvailablePortFinder.Port simplePort = AvailablePortFinder.find();
+ @RegisterExtension
+ final AvailablePortFinder.Port jaxWsPort = AvailablePortFinder.find();
+
protected static final String ECHO_OPERATION = "echo";
protected static final String GREET_ME_OPERATION = "greetMe";
protected static final String TEST_MESSAGE = "Hello World!";
@@ -66,11 +71,11 @@ public class CxfProducerTest {
protected Endpoint endpoint;
protected String getSimpleServerAddress() {
- return "http://localhost:" + CXFTestSupport.getPort1() + "/" +
getClass().getSimpleName() + "/test";
+ return "http://localhost:" + simplePort.getPort() + "/" +
getClass().getSimpleName() + "/test";
}
protected String getJaxWsServerAddress() {
- return "http://localhost:" + CXFTestSupport.getPort2() + "/" +
getClass().getSimpleName() + "/test";
+ return "http://localhost:" + jaxWsPort.getPort() + "/" +
getClass().getSimpleName() + "/test";
}
// Keep port reference to prevent reuse — this address must have nothing
listening on it
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSchemaValidationTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSchemaValidationTest.java
index fb738efb4ece..88eaffdd5aab 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSchemaValidationTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSchemaValidationTest.java
@@ -26,7 +26,7 @@ import javax.xml.namespace.QName;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.wsdl_first.Person;
import org.apache.camel.wsdl_first.PersonService;
@@ -37,6 +37,7 @@ import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.frontend.ClientProxy;
import org.junit.jupiter.api.Assumptions;
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;
@@ -45,16 +46,20 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
class CxfSchemaValidationTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+ @RegisterExtension
+ final AvailablePortFinder.Port port2 = AvailablePortFinder.find();
protected static final String PORT_NAME_PROP =
"portName={http://camel.apache.org/wsdl-first}soap";
protected static final String SERVICE_NAME =
"{http://camel.apache.org/wsdl-first}PersonService";
protected static final String SERVICE_NAME_PROP = "serviceName=" +
SERVICE_NAME;
protected static final String WSDL_URL_PROP =
"wsdlURL=classpath:person.wsdl";
- protected final String serviceAddressValidationEnabled =
"http://localhost:" + CXFTestSupport.getPort1()
+ protected final String serviceAddressValidationEnabled =
"http://localhost:" + port1.getPort()
+ "/" +
getClass().getSimpleName() + "/PersonService";
- protected final String serviceAddressValidationDisabled =
"http://localhost:" + CXFTestSupport.getPort2()
+ protected final String serviceAddressValidationDisabled =
"http://localhost:" + port2.getPort()
+ "/" +
getClass().getSimpleName() + "/PersonService";
protected final String cxfServerUriValidationEnabled = "cxf://" +
serviceAddressValidationEnabled + "?"
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSimpleRouterTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSimpleRouterTest.java
index 66f13dd69bdc..b86802657c1a 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSimpleRouterTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSimpleRouterTest.java
@@ -18,8 +18,8 @@ package org.apache.camel.component.cxf.jaxws;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.frontend.ClientFactoryBean;
@@ -28,11 +28,17 @@ import org.apache.cxf.frontend.ServerFactoryBean;
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 org.junit.jupiter.api.Assertions.assertEquals;
public class CxfSimpleRouterTest extends CamelTestSupport {
+ @RegisterExtension
+ final AvailablePortFinder.Port routerPort = AvailablePortFinder.find();
+ @RegisterExtension
+ final AvailablePortFinder.Port servicePort = AvailablePortFinder.find();
+
protected static final String SERVICE_CLASS =
"serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
protected Server server;
@@ -40,11 +46,11 @@ public class CxfSimpleRouterTest extends CamelTestSupport {
private String serviceEndpointURI = "cxf://" + getServiceAddress() + "?" +
SERVICE_CLASS + "&dataFormat=POJO";
protected String getRouterAddress() {
- return "http://localhost:" + CXFTestSupport.getPort1() + "/" +
getClass().getSimpleName() + "/router";
+ return "http://localhost:" + routerPort.getPort() + "/" +
getClass().getSimpleName() + "/router";
}
protected String getServiceAddress() {
- return "http://localhost:" + CXFTestSupport.getPort2() + "/" +
getClass().getSimpleName() + "/helloworld";
+ return "http://localhost:" + servicePort.getPort() + "/" +
getClass().getSimpleName() + "/helloworld";
}
protected void configureFactory(ServerFactoryBean svrBean) {
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/FailOverFeatureTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/FailOverFeatureTest.java
index 0f646a9f7f59..66aa370d936c 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/FailOverFeatureTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/FailOverFeatureTest.java
@@ -20,7 +20,6 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.cxf.clustering.FailoverFeature;
@@ -38,16 +37,23 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
public class FailOverFeatureTest {
- private static int port1 = CXFTestSupport.getPort1();
- private static int port2 = CXFTestSupport.getPort2();
- private static int port3 = CXFTestSupport.getPort3();
@RegisterExtension
- static AvailablePortFinder.Port port4 = AvailablePortFinder.find();
-
- private static final String SERVICE_ADDRESS = "http://localhost:" + port1
+ "/FailOverFeatureTest";
- private static final String PAYLOAD_PROXY_ADDRESS = "http://localhost:" +
port2 + "/FailOverFeatureTest/proxy";
- private static final String POJO_PROXY_ADDRESS = "http://localhost:" +
port3 + "/FailOverFeatureTest/proxy";
- private static final String NONE_EXIST_ADDRESS = "http://localhost:" +
port4.getPort() + "/FailOverFeatureTest";
+ static final AvailablePortFinder.Port SERVICE_PORT =
AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PAYLOAD_PROXY_PORT =
AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port POJO_PROXY_PORT =
AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port NONE_EXIST_PORT =
AvailablePortFinder.find();
+
+ private static final String SERVICE_ADDRESS
+ = "http://localhost:" + SERVICE_PORT.getPort() +
"/FailOverFeatureTest";
+ private static final String PAYLOAD_PROXY_ADDRESS
+ = "http://localhost:" + PAYLOAD_PROXY_PORT.getPort() +
"/FailOverFeatureTest/proxy";
+ private static final String POJO_PROXY_ADDRESS
+ = "http://localhost:" + POJO_PROXY_PORT.getPort() +
"/FailOverFeatureTest/proxy";
+ private static final String NONE_EXIST_ADDRESS
+ = "http://localhost:" + NONE_EXIST_PORT.getPort() +
"/FailOverFeatureTest";
private static Server server;
private DefaultCamelContext context1;
private DefaultCamelContext context2;
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/JaxWsWebFaultAnnotationToFaultTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/JaxWsWebFaultAnnotationToFaultTest.java
index 9565f8335790..f727b2ea53fc 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/JaxWsWebFaultAnnotationToFaultTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/JaxWsWebFaultAnnotationToFaultTest.java
@@ -19,13 +19,14 @@ package org.apache.camel.component.cxf.jaxws;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.cxf.frontend.ClientFactoryBean;
import org.apache.cxf.greeter_control.Greeter;
import org.apache.cxf.greeter_control.PingMeFault;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,7 +37,10 @@ import static org.junit.jupiter.api.Assertions.fail;
* Test for throwing an exception with a JAX-WS WebFault annotation from Camel
CXF consumer
*/
public class JaxWsWebFaultAnnotationToFaultTest extends CamelTestSupport {
- protected static final String ROUTER_ADDRESS = "http://localhost:" +
CXFTestSupport.getPort1()
+ @RegisterExtension
+ static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+ protected static final String ROUTER_ADDRESS = "http://localhost:" +
PORT.getPort()
+
"/JaxWsWebFaultAnnotationToFaultTest/router";
protected static final String SERVICE_CLASS =
"serviceClass=org.apache.cxf.greeter_control.Greeter";
protected static final String SERVICE_URI = "cxf://" + ROUTER_ADDRESS +
"?" + SERVICE_CLASS;
diff --git
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/LoadDistributorFeatureTest.java
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/LoadDistributorFeatureTest.java
index 1e3ddfeb69f6..60540efdaa78 100644
---
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/LoadDistributorFeatureTest.java
+++
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/LoadDistributorFeatureTest.java
@@ -20,27 +20,34 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.cxf.clustering.LoadDistributorFeature;
import org.apache.cxf.clustering.SequentialStrategy;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.apache.cxf.frontend.ServerFactoryBean;
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;
public class LoadDistributorFeatureTest {
-
- private static int port1 = CXFTestSupport.getPort1();
- private static int port2 = CXFTestSupport.getPort2();
- private static int port3 = CXFTestSupport.getPort3();
-
- private static final String SERVICE_ADDRESS_1 = "http://localhost:" +
port1 + "/LoadDistributorFeatureTest/service1";
- private static final String SERVICE_ADDRESS_2 = "http://localhost:" +
port1 + "/LoadDistributorFeatureTest/service2";
- private static final String PAYLOAD_PROXY_ADDRESS = "http://localhost:" +
port2 + "/LoadDistributorFeatureTest/proxy";
- private static final String POJO_PROXY_ADDRESS = "http://localhost:" +
port3 + "/LoadDistributorFeatureTest/proxy";
+ @RegisterExtension
+ static final AvailablePortFinder.Port SERVICE_PORT =
AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port PAYLOAD_PROXY_PORT =
AvailablePortFinder.find();
+ @RegisterExtension
+ static final AvailablePortFinder.Port POJO_PROXY_PORT =
AvailablePortFinder.find();
+
+ private static final String SERVICE_ADDRESS_1
+ = "http://localhost:" + SERVICE_PORT.getPort() +
"/LoadDistributorFeatureTest/service1";
+ private static final String SERVICE_ADDRESS_2
+ = "http://localhost:" + SERVICE_PORT.getPort() +
"/LoadDistributorFeatureTest/service2";
+ private static final String PAYLOAD_PROXY_ADDRESS
+ = "http://localhost:" + PAYLOAD_PROXY_PORT.getPort() +
"/LoadDistributorFeatureTest/proxy";
+ private static final String POJO_PROXY_ADDRESS
+ = "http://localhost:" + POJO_PROXY_PORT.getPort() +
"/LoadDistributorFeatureTest/proxy";
private DefaultCamelContext context1;
private DefaultCamelContext context2;