Skip to content

Commit 9fb941c

Browse files
authored
CAMEL-23214: Migrate AvailablePortFinder in camel-platform-http, camel-jetty, camel-coap, camel-undertow tests
Migrate from deprecated AvailablePortFinder.getNextAvailable() to the @RegisterExtension AvailablePortFinder.Port pattern in HTTP server component tests. - camel-coap: migrate CoAPTestSupport, CoAPComponentTLSTestBase, CoAPRestComponentTestBase - camel-jetty: migrate JettyBridgeHostHeaderIssueTest, JettyValidator*Test, JettyXslt*Test, SpringFailoverRoundRobinTest, RestJettyRedirectTest - camel-platform-http-main: migrate MainHttpServerRouteTest, ManagementHttpServerTest, RestOpenApi*Test - camel-platform-http-vertx: migrate VertxPlatformHttp*Test (18 test classes), fix TOCTOU in VertxPlatformHttpEngineTest static createCamelContext() methods - camel-undertow: remove dead getNextPort() methods from BaseUndertowTest, migrate UndertowHttpProducerSessionTest, UndertowMethodRestricTest
1 parent 99f6fe2 commit 9fb941c

51 files changed

Lines changed: 448 additions & 316 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ protected RoutesBuilder createRouteBuilder() {
4343
return new RouteBuilder() {
4444
@Override
4545
public void configure() {
46-
restConfiguration().component("coap").port(PORT).enableCORS(true);
46+
restConfiguration().component("coap").port(PORT.getPort()).enableCORS(true);
4747

4848
rest().get("/rest").to("direct:rest");
4949
from("direct:rest").setBody(constant(COAP_RESPONSE));

components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java

Lines changed: 44 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,28 @@
4545
import org.eclipse.californium.scandium.dtls.x509.StaticNewAdvancedCertificateVerifier;
4646
import org.junit.jupiter.api.DisplayName;
4747
import org.junit.jupiter.api.Test;
48+
import org.junit.jupiter.api.extension.RegisterExtension;
4849
import org.junit.jupiter.params.ParameterizedTest;
4950
import org.junit.jupiter.params.provider.ValueSource;
5051

5152
abstract class CoAPComponentTLSTestBase extends CamelTestSupport {
5253

53-
private static final int PORT = AvailablePortFinder.getNextAvailable();
54-
private static final int PORT2 = AvailablePortFinder.getNextAvailable();
55-
private static final int PORT3 = AvailablePortFinder.getNextAvailable();
56-
private static final int PORT4 = AvailablePortFinder.getNextAvailable();
57-
private static final int PORT5 = AvailablePortFinder.getNextAvailable();
58-
private static final int PORT6 = AvailablePortFinder.getNextAvailable();
59-
private static final int PORT7 = AvailablePortFinder.getNextAvailable();
60-
private static final int PORT8 = AvailablePortFinder.getNextAvailable();
54+
@RegisterExtension
55+
static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
56+
@RegisterExtension
57+
static AvailablePortFinder.Port PORT2 = AvailablePortFinder.find();
58+
@RegisterExtension
59+
static AvailablePortFinder.Port PORT3 = AvailablePortFinder.find();
60+
@RegisterExtension
61+
static AvailablePortFinder.Port PORT4 = AvailablePortFinder.find();
62+
@RegisterExtension
63+
static AvailablePortFinder.Port PORT5 = AvailablePortFinder.find();
64+
@RegisterExtension
65+
static AvailablePortFinder.Port PORT6 = AvailablePortFinder.find();
66+
@RegisterExtension
67+
static AvailablePortFinder.Port PORT7 = AvailablePortFinder.find();
68+
@RegisterExtension
69+
static AvailablePortFinder.Port PORT8 = AvailablePortFinder.find();
6170

6271
@ParameterizedTest
6372
@ValueSource(strings = { "direct:start", "direct:selfsigned", /*"direct:clientauth",*/ "direct:ciphersuites" })
@@ -200,68 +209,74 @@ protected RouteBuilder createRouteBuilder() throws Exception {
200209
@Override
201210
public void configure() {
202211

203-
fromF(getProtocol() + "://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters", PORT)
212+
fromF(getProtocol() + "://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters",
213+
PORT.getPort())
204214
.transform(body().prepend("Hello "));
205215

206216
fromF(getProtocol()
207217
+ "://localhost:%d/TestResource?alias=selfsigned&sslContextParameters=#selfSignedServiceSSLContextParameters",
208-
PORT2)
218+
PORT2.getPort())
209219
.transform(body().prepend("Hello "));
210220

211221
fromF(getProtocol()
212222
+ "://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters&cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
213-
PORT4)
223+
PORT4.getPort())
214224
.transform(body().prepend("Hello "));
215225

216226
from("direct:start")
217227
.toF(getProtocol() + "://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters",
218-
PORT)
228+
PORT.getPort())
219229
.to("mock:result");
220230

221-
from("direct:notruststore").toF(getProtocol() + "://localhost:%d/TestResource", PORT).to("mock:result");
231+
from("direct:notruststore").toF(getProtocol() + "://localhost:%d/TestResource", PORT.getPort())
232+
.to("mock:result");
222233

223234
from("direct:failedtrust")
224235
.toF(getProtocol() + "://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters2",
225-
PORT)
236+
PORT.getPort())
226237
.to("mock:result");
227238

228239
from("direct:selfsigned")
229240
.toF(getProtocol()
230-
+ "://localhost:%d/TestResource?sslContextParameters=#selfSignedClientSSLContextParameters", PORT2)
241+
+ "://localhost:%d/TestResource?sslContextParameters=#selfSignedClientSSLContextParameters",
242+
PORT2.getPort())
231243
.to("mock:result");
232244

233245
from("direct:clientauth")
234246
.toF(getProtocol()
235-
+ "://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters", PORT3)
247+
+ "://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters",
248+
PORT3.getPort())
236249
.to("mock:result");
237250

238251
from("direct:failedclientauth")
239252
.toF(getProtocol()
240253
+ "://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters2",
241-
PORT3)
254+
PORT3.getPort())
242255
.to("mock:result");
243256

244257
from("direct:ciphersuites")
245258
.toF(getProtocol()
246259
+ "://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters&cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
247-
PORT4)
260+
PORT4.getPort())
248261
.to("mock:result");
249262

250263
if (isRPKSupported()) {
251-
fromF(getProtocol() + "://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey", PORT5)
264+
fromF(getProtocol() + "://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey",
265+
PORT5.getPort())
252266
.transform(body().prepend("Hello "));
253267

254268
fromF(getProtocol()
255269
+ "://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey&clientAuthentication=NEEDED&advancedCertificateVerifier=#advancedCertificateVerifier",
256-
PORT6).transform(body().prepend("Hello "));
270+
PORT6.getPort()).transform(body().prepend("Hello "));
257271

258272
from("direct:rpk")
259273
.toF(getProtocol()
260274
+ "://localhost:%d/TestResource?advancedCertificateVerifier=#advancedCertificateVerifier",
261-
PORT5)
275+
PORT5.getPort())
262276
.to("mock:result");
263277

264-
from("direct:rpknotruststore").toF(getProtocol() + "://localhost:%d/TestResource", PORT5).to("mock:result");
278+
from("direct:rpknotruststore").toF(getProtocol() + "://localhost:%d/TestResource", PORT5.getPort())
279+
.to("mock:result");
265280

266281
// from("direct:rpkfailedtrust")
267282
// .toF(getProtocol()
@@ -272,33 +287,34 @@ public void configure() {
272287
from("direct:rpkclientauth")
273288
.toF(getProtocol()
274289
+ "://localhost:%d/TestResource?advancedCertificateVerifier=#advancedCertificateVerifier&privateKey=#privateKey&publicKey=#publicKey",
275-
PORT6)
290+
PORT6.getPort())
276291
.to("mock:result");
277292
}
278293

279294
if (isPSKSupported()) {
280-
fromF(getProtocol() + "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", PORT7)
295+
fromF(getProtocol() + "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", PORT7.getPort())
281296
.transform(body().prepend("Hello "));
282297

283298
fromF(getProtocol()
284299
+ "://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters&advancedPskStore=#advancedPskStore",
285-
PORT8)
300+
PORT8.getPort())
286301
.transform(body().prepend("Hello "));
287302

288303
from("direct:psk")
289-
.toF(getProtocol() + "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", PORT7)
304+
.toF(getProtocol() + "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore",
305+
PORT7.getPort())
290306
.to("mock:result");
291307

292308
from("direct:pskciphersuite")
293309
.toF(getProtocol()
294310
+ "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore&cipherSuites=TLS_PSK_WITH_AES_128_GCM_SHA256",
295-
PORT7)
311+
PORT7.getPort())
296312
.to("mock:result");
297313

298314
from("direct:pskx509")
299315
.toF(getProtocol()
300316
+ "://localhost:%d/TestResource?advancedPskStore=#advancedPskStore&sslContextParameters=#clientSSLContextParameters",
301-
PORT8)
317+
PORT8.getPort())
302318
.to("mock:result");
303319
}
304320

components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@
2626
import org.eclipse.californium.core.coap.CoAP;
2727
import org.eclipse.californium.core.coap.MediaTypeRegistry;
2828
import org.junit.jupiter.api.Test;
29+
import org.junit.jupiter.api.extension.RegisterExtension;
2930

3031
import static org.junit.jupiter.api.Assertions.assertEquals;
3132

3233
public class CoAPComponentTest extends CoAPTestSupport {
3334

34-
protected static final int TCP_PORT = AvailablePortFinder.getNextAvailable();
35+
@RegisterExtension
36+
static AvailablePortFinder.Port TCP_PORT = AvailablePortFinder.find();
3537

3638
@Produce("direct:start")
3739
protected ProducerTemplate sender;
@@ -72,14 +74,15 @@ protected RouteBuilder createRouteBuilder() {
7274
return new RouteBuilder() {
7375
@Override
7476
public void configure() {
75-
fromF("coap://localhost:%d/TestResource", PORT).convertBodyTo(String.class).transform(body().prepend("Hello "));
77+
fromF("coap://localhost:%d/TestResource", PORT.getPort()).convertBodyTo(String.class)
78+
.transform(body().prepend("Hello "));
7679

77-
fromF("coap+tcp://localhost:%d/TestResource", TCP_PORT).convertBodyTo(String.class)
80+
fromF("coap+tcp://localhost:%d/TestResource", TCP_PORT.getPort()).convertBodyTo(String.class)
7881
.transform(body().prepend("Hello "));
7982

80-
from("direct:start").toF("coap://localhost:%d/TestResource", PORT).to("mock:result");
83+
from("direct:start").toF("coap://localhost:%d/TestResource", PORT.getPort()).to("mock:result");
8184

82-
from("direct:starttcp").toF("coap+tcp://localhost:%d/TestResource", TCP_PORT).to("mock:result");
85+
from("direct:starttcp").toF("coap+tcp://localhost:%d/TestResource", TCP_PORT.getPort()).to("mock:result");
8386
}
8487
};
8588
}

components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodRestrictTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ void testSpecifiedCoAPMethodRestrict() {
5353

5454
private void assertCoAPMethodRestrictResponse(String path, String methodRestrict, String expectedResponse) {
5555
for (String method : CoAPConstants.METHOD_RESTRICT_ALL.split(",")) {
56-
String result = template.requestBodyAndHeader("coap://localhost:" + PORT + path, null, CoAPConstants.COAP_METHOD,
56+
String result = template.requestBodyAndHeader("coap://localhost:" + PORT.getPort() + path, null,
57+
CoAPConstants.COAP_METHOD,
5758
method, String.class);
5859
if (methodRestrict.contains(method)) {
5960
assertEquals(expectedResponse, result);
@@ -68,16 +69,17 @@ protected RoutesBuilder createRouteBuilder() {
6869
return new RouteBuilder() {
6970
@Override
7071
public void configure() {
71-
fromF("coap://localhost:%d/test", PORT).setBody(constant("GET: /test"));
72+
fromF("coap://localhost:%d/test", PORT.getPort()).setBody(constant("GET: /test"));
7273

73-
fromF("coap://localhost:%d/test/a?coapMethodRestrict=GET", PORT).setBody(constant("GET: /test/a"));
74+
fromF("coap://localhost:%d/test/a?coapMethodRestrict=GET", PORT.getPort()).setBody(constant("GET: /test/a"));
7475

75-
fromF("coap://localhost:%d/test/a/b?coapMethodRestrict=DELETE", PORT).setBody(constant("DELETE: /test/a/b"));
76+
fromF("coap://localhost:%d/test/a/b?coapMethodRestrict=DELETE", PORT.getPort())
77+
.setBody(constant("DELETE: /test/a/b"));
7678

77-
fromF("coap://localhost:%d/test/a/b/c?coapMethodRestrict=DELETE,GET", PORT)
79+
fromF("coap://localhost:%d/test/a/b/c?coapMethodRestrict=DELETE,GET", PORT.getPort())
7880
.setBody(constant("DELETE & GET: /test/a/b/c"));
7981

80-
fromF("coap://localhost:%d/test/b?coapMethodRestrict=GET", PORT).setBody(constant("GET: /test/b"));
82+
fromF("coap://localhost:%d/test/b?coapMethodRestrict=GET", PORT.getPort()).setBody(constant("GET: /test/b"));
8183
}
8284
};
8385
}

components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,21 @@ public class CoAPMethodTest extends CoAPTestSupport {
2727
@Test
2828
void testCoAPMethodDefaultGet() {
2929
// No body means GET
30-
String result = template.requestBody("coap://localhost:" + PORT + "/test/a", null, String.class);
30+
String result = template.requestBody("coap://localhost:" + PORT.getPort() + "/test/a", null, String.class);
3131
assertEquals("GET: /test/a", result);
3232
}
3333

3434
@Test
3535
void testCoAPMethodDefaultPost() {
3636
// Providing a body means POST
37-
String result = template.requestBody("coap://localhost:" + PORT + "/test/b", "Camel", String.class);
37+
String result = template.requestBody("coap://localhost:" + PORT.getPort() + "/test/b", "Camel", String.class);
3838
assertEquals("Hello Camel", result);
3939
}
4040

4141
@Test
4242
void testCoAPMethodHeader() {
43-
String result = template.requestBodyAndHeader("coap://localhost:" + PORT + "/test/c", null, CoAPConstants.COAP_METHOD,
43+
String result = template.requestBodyAndHeader("coap://localhost:" + PORT.getPort() + "/test/c", null,
44+
CoAPConstants.COAP_METHOD,
4445
"DELETE", String.class);
4546
assertEquals("DELETE: /test/c", result);
4647
}
@@ -50,11 +51,12 @@ protected RoutesBuilder createRouteBuilder() {
5051
return new RouteBuilder() {
5152
@Override
5253
public void configure() {
53-
fromF("coap://localhost:%d/test/a?coapMethodRestrict=GET", PORT).setBody(constant("GET: /test/a"));
54+
fromF("coap://localhost:%d/test/a?coapMethodRestrict=GET", PORT.getPort()).setBody(constant("GET: /test/a"));
5455

55-
fromF("coap://localhost:%d/test/b?coapMethodRestrict=POST", PORT).setBody(simple("Hello ${body}"));
56+
fromF("coap://localhost:%d/test/b?coapMethodRestrict=POST", PORT.getPort()).setBody(simple("Hello ${body}"));
5657

57-
fromF("coap://localhost:%d/test/c?coapMethodRestrict=DELETE", PORT).setBody(constant("DELETE: /test/c"));
58+
fromF("coap://localhost:%d/test/c?coapMethodRestrict=DELETE", PORT.getPort())
59+
.setBody(constant("DELETE: /test/c"));
5860
}
5961
};
6062
}

components/camel-coap/src/test/java/org/apache/camel/coap/CoAPObserveTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,16 @@ protected RouteBuilder createRouteBuilder() {
9292
public void configure() {
9393
AtomicInteger i = new AtomicInteger(0);
9494

95-
fromF("coap://localhost:%d/TestResource?observable=true", PORT)
95+
fromF("coap://localhost:%d/TestResource?observable=true", PORT.getPort())
9696
.log("Received1: ${body}")
9797
.process(exchange -> exchange.getMessage().setBody("Hello " + i.get()));
9898

9999
from("direct:notify")
100100
.process(exchange -> i.incrementAndGet())
101101
.log("Sending ${body}")
102-
.toF("coap://localhost:%d/TestResource?notify=true", PORT);
102+
.toF("coap://localhost:%d/TestResource?notify=true", PORT.getPort());
103103

104-
fromF("coap://localhost:%d/TestResource?observe=true", PORT)
104+
fromF("coap://localhost:%d/TestResource?observe=true", PORT.getPort())
105105
.log("Received2: ${body}")
106106
.to("mock:sourceResults");
107107
}

components/camel-coap/src/test/java/org/apache/camel/coap/CoAPPingTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,11 @@ protected RouteBuilder createRouteBuilder() {
4141
return new RouteBuilder() {
4242
@Override
4343
public void configure() {
44-
fromF("coap://localhost:%d/TestResource", PORT).to("log:exch").transform(body().convertTo(Boolean.class))
44+
fromF("coap://localhost:%d/TestResource", PORT.getPort()).to("log:exch")
45+
.transform(body().convertTo(Boolean.class))
4546
.to("log:exch");
4647

47-
from("direct:start").toF("coap://localhost:%d/TestResource", PORT).to("mock:result");
48+
from("direct:start").toF("coap://localhost:%d/TestResource", PORT.getPort()).to("mock:result");
4849
}
4950
};
5051
}

0 commit comments

Comments
 (0)