You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2026/03/20 10:11:24 UTC
(camel) branch CAMEL-23214-port-misc updated (3f518c6a7a07 -> 5781c8553b60)
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a change to branch CAMEL-23214-port-misc
in repository https://gitbox.apache.org/repos/asf/camel.git
discard 3f518c6a7a07 CAMEL-23214: Fix port migration in misc tests
discard b5e91a3f715c CAMEL-23214: Remove unrelated changes from port migration PR
discard 6d49903c18a0 CAMEL-23214: Migrate AvailablePortFinder in miscellaneous component tests
add 3a8cbcf80f8e chore(deps): Bump aws-java-sdk2-version from 2.42.16 to 2.42.17
add 35c0b7d62430 CAMEL-22948: Add @{argLine} to surefire/failsafe configuration (#22097)
add cb292e3178d0 chore(camel-test-infra-keycloak): upgrade keycloak.container to 26.5.6 (#22109)
add 4cc38b84e4d3 chore(deps): Bump io.milvus:milvus-sdk-java from 2.6.15 to 2.6.16
add eeeb79d9074c Update to spring-boot 4.0.4; align spring-batch 6.0.3 / jooq 3.19.30 / hazelcast 5.5.0 (#22104)
add 133f04f3349b Migrate huggingface, azure-functions, event from camel-test-junit5 to camel-test-junit6 (#22131)
add c5f208fa964e Migrate jackson3 family from camel-test-junit5 to camel-test-junit6 (#22132)
add 490cb841e1e1 Migrate google family from camel-test-junit5 to camel-test-junit6 (#22133)
add b2dbfc174954 CAMEL-23214: Migrate AvailablePortFinder in camel-vertx tests (#22119)
add 7918eab788d8 CAMEL-23214: Migrate AvailablePortFinder in camel-telegram tests (#22120)
add 96b4ba92abd0 CAMEL-23214: Migrate AvailablePortFinder in camel-mllp tests (#22121)
add ce08755cf621 CAMEL-23214: Migrate AvailablePortFinder in camel-as2 tests (#22122)
add ed5cf044fcf7 CAMEL-23214: Migrate AvailablePortFinder in camel-grpc tests (#22123)
add 8dec349a53c4 CAMEL-23214: Migrate AvailablePortFinder in camel-itest tests (#22124)
add e403cb6f7f71 Fix ServerSocket port finding to use AvailablePort.probePort() (#22102)
add c28e73d90da8 chore(deps): Bump flatted from 3.3.2 to 3.4.2 in /docs (#22143)
add f642c3ff4375 CAMEL-23214: Deprecate AvailablePortFinder.getNextAvailable() in favor of find() (#22130)
add 18d6a66f0620 CAMEL-21917: Fix flaky FromJmsToJdbcIdempotentConsumerToJmsXaTest (#22134)
add 546195ad8db7 CAMEL-23214: Migrate AvailablePortFinder in camel-cxf and camel-netty tests (#22125)
add 2803da2ef94e CAMEL-23214: Migrate AvailablePortFinder in camel-thrift, camel-cometd, camel-syslog tests (#22126)
add fd5bc4452c66 Miscellaneous test fixes (#22129)
add 76050abf307c Use per-class queue names in JMS tests to prevent shared broker interference (#22138)
add c0553ad3f17e chore(camel-test-infra-ibmmq): upgrade ibm.mq.container to 9.4.5.0-r2
add c7239f24c0cd chore(deps): Bump huaweicloud-sdk-version from 3.1.188 to 3.1.189
add fc0232611226 CAMEL-23218: Add SQL++ (N1QL) query support for Couchbase consumer
add 84b156714c4d chore(camel-test-infra-milvus): upgrade milvus.container to v2.6.12
add da8b0dc936e8 CAMEL-23214: Fix AvailablePort visibility - use public AvailablePortFinder API (#22145)
new 4e0b81a7f504 CAMEL-23214: Migrate AvailablePortFinder in miscellaneous component tests
new a28a6dbd1767 CAMEL-23214: Remove unrelated changes from port migration PR
new cf3b4adb0957 CAMEL-23214: Fix port migration in misc tests
new 663f8ed563f8 CAMEL-23214: Fix WhatsAppWebhookTest port assignment
new 4e4ea7c57671 CAMEL-23214: Fix Stomp tests passing Port object to format strings
new bc342c5130dc CAMEL-23214: Fix try-with-resources anti-pattern in port migration
new 5781c8553b60 CAMEL-23214: Fix AvroConsumerTestSupport compilation - migrate setupFreePort to @RegisterExtension
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (3f518c6a7a07)
\
N -- N -- N refs/heads/CAMEL-23214-port-misc (5781c8553b60)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../apache/camel/catalog/components/couchbase.json | 70 +++----
components/camel-ai/camel-huggingface/pom.xml | 2 +-
.../camel/component/huggingface/HuggingFaceIT.java | 2 +-
.../as2/api/AS2AsyncMDNServerConnectionTest.java | 10 +-
.../camel/component/as2/api/AS2MessageTest.java | 2 +-
.../component/as2/api/AS2MessageTestBase.java | 12 +-
.../as2/api/AS2UnencryptedMessageTest.java | 2 +-
.../component/as2/AS2AsyncMDNServerManagerIT.java | 58 +++---
.../as2/AS2AsyncMdnBasicAuthHeaderTest.java | 36 ++--
.../as2/AS2AsyncMdnTokenAuthHeaderTest.java | 29 +--
.../component/as2/AS2BasicAuthHeaderTest.java | 24 +--
.../camel/component/as2/AS2ClientManagerIT.java | 34 ++--
.../as2/AS2ServerBasicAuthHeaderTest.java | 15 +-
.../as2/AS2ServerBearerAuthHeaderTest.java | 15 +-
.../component/as2/AS2ServerManagerEncryptedIT.java | 6 +-
.../camel/component/as2/AS2ServerManagerIT.java | 14 +-
.../component/as2/AS2ServerManagerITBase.java | 8 +-
.../camel/component/as2/AS2ServerSecTestBase.java | 8 +-
.../component/as2/AS2TokenAuthHeaderTest.java | 24 +--
.../component/avro/AvroConsumerTestSupport.java | 19 +-
.../camel/component/avro/AvroTestSupport.java | 23 ++-
.../camel-azure/camel-azure-functions/pom.xml | 2 +-
.../CometdProducerConsumerAuthenticatedTest.java | 9 +-
.../CometdProducerConsumerExtensionTest.java | 18 +-
.../cometd/CometdProducerConsumerInOutTest.java | 18 +-
.../CometdProducerConsumerInteractiveTest.java | 14 +-
.../cometd/CometdProducerConsumerTest.java | 9 +-
.../cometd/MultipCometdProducerConsumerTest.java | 13 +-
.../cometd/SslCometdProducerConsumerTest.java | 7 +-
...ontextParametersCometdProducerConsumerTest.java | 7 +-
...tParametersInUriCometdProducerConsumerTest.java | 7 +-
...ontextParametersCometdProducerConsumerTest.java | 7 +-
.../couchbase/CouchbaseEndpointConfigurer.java | 9 +
.../couchbase/CouchbaseEndpointUriFactory.java | 4 +-
.../camel/component/couchbase/couchbase.json | 70 +++----
.../src/main/docs/couchbase-component.adoc | 115 +++++++++++-
.../component/couchbase/CouchbaseConsumer.java | 204 +++++++++++++++------
.../component/couchbase/CouchbaseEndpoint.java | 109 ++++++++++-
.../component/couchbase/CouchbaseEndpointTest.java | 76 ++++++++
.../couchbase/integration/ConsumeSqlQueryIT.java | 168 +++++++++++++++++
.../cxf/jaxrs/CxfRsProducerStreamCacheTest.java | 9 +-
.../cxf/jaxws/CxfConsumerPayloadXPathTest.java | 7 +-
.../cxf/jaxws/CxfPayLoadBareSoapTest.java | 8 +-
.../cxf/jaxws/CxfProducerProtocalHeaderTest.java | 8 +-
.../cxf/jaxws/CxfProducerSoapActionTest.java | 6 +-
.../camel/component/cxf/jaxws/CxfProducerTest.java | 6 +-
.../component/cxf/jaxws/FailOverFeatureTest.java | 6 +-
.../camel/component/cxf/CxfMulticastTest.java | 6 +-
.../cxf/CxfPayloadRouterContentLengthTest.java | 10 +-
.../camel/component/cxf/CxfRecipientListTest.java | 11 +-
.../cxf/CxfRecipientListWithUrlParamsTest.java | 23 ++-
components/camel-event/pom.xml | 2 +-
.../component/camelevent/EventComponentTest.java | 2 +-
.../camel-google/camel-google-firestore/pom.xml | 2 +-
.../firestore/GoogleFirestoreComponentTest.java | 2 +-
.../integration/GoogleFirestoreITSupport.java | 2 +-
.../camel-google-speech-to-text/pom.xml | 2 +-
.../integration/GoogleCloudSpeechToTextIT.java | 2 +-
.../unit/GoogleCloudSpeechToTextComponentTest.java | 2 +-
.../camel-google-text-to-speech/pom.xml | 2 +-
.../integration/GoogleCloudTextToSpeechIT.java | 2 +-
.../unit/GoogleCloudTextToSpeechComponentTest.java | 2 +-
.../camel-google/camel-google-vision/pom.xml | 2 +-
.../unit/GoogleCloudVisionComponentTest.java | 2 +-
.../grpc/GrpcConsumerAggregationTest.java | 16 +-
.../component/grpc/GrpcConsumerConcurrentTest.java | 16 +-
.../component/grpc/GrpcConsumerExceptionTest.java | 9 +-
.../grpc/GrpcConsumerPropagationTest.java | 16 +-
.../component/grpc/GrpcConsumerSecurityTest.java | 24 ++-
.../grpc/GrpcConsumerServerInterceptorTest.java | 16 +-
.../grpc/GrpcProducerClientInterceptorTest.java | 15 +-
.../component/grpc/GrpcProducerSecurityTest.java | 21 ++-
.../component/grpc/GrpcProducerStreamingTest.java | 10 +-
.../camel/component/grpc/GrpcProducerSyncTest.java | 14 +-
.../component/grpc/GrpcProxyAsyncAsyncTest.java | 17 +-
.../component/grpc/GrpcProxyAsyncSyncTest.java | 17 +-
.../component/grpc/GrpcProxySyncAsyncTest.java | 17 +-
.../grpc/RouteControlledStreamObserverTest.java | 18 +-
.../hazelcast/HazelcastQueueConsumerPollTest.java | 28 ++-
.../hazelcast/policy/HazelcastRoutePolicyIT.java} | 61 +++---
components/camel-jackson3-avro/pom.xml | 2 +-
.../avro/JacksonAvroLookupResolverTest.java | 2 +-
.../JacksonAvroMarshalUnmarshalJsonNodeTest.java | 2 +-
.../JacksonAvroMarshalUnmarshalPojoListTest.java | 2 +-
.../avro/JacksonAvroMarshalUnmarshalPojoTest.java | 2 +-
components/camel-jackson3-protobuf/pom.xml | 2 +-
.../JacksonProtobufLookupResolverTest.java | 2 +-
...acksonProtobufMarshalUnmarshalJsonNodeTest.java | 2 +-
.../JacksonProtobufMarshalUnmarshalPojoTest.java | 2 +-
components/camel-jackson3/pom.xml | 2 +-
.../component/jackson3/JacksonConcurrentTest.java | 4 +-
.../component/jackson3/JacksonFeaturesTest.java | 2 +-
.../jackson3/JacksonIncludeDefaultTest.java | 2 +-
.../jackson3/JacksonIncludeNotNulllTest.java | 2 +-
.../jackson3/JacksonJAXBAnnotationTest.java | 2 +-
.../jackson3/JacksonMarshalAllowJMSTypeTest.java | 2 +-
.../JacksonMarshalContentTypeHeaderTest.java | 2 +-
.../jackson3/JacksonMarshalDateTimezoneTest.java | 2 +-
.../JacksonMarshalMultibyteCharactersTest.java | 2 +-
.../jackson3/JacksonMarshalNamingStrategyTest.java | 2 +-
.../component/jackson3/JacksonMarshalTest.java | 2 +-
.../jackson3/JacksonMarshalUnmarshalArrayTest.java | 2 +-
.../jackson3/JacksonMarshalUnmarshalListTest.java | 2 +-
.../JacksonMarshalUnmarshalPojoArrayTest.java | 2 +-
...onMarshalUnmarshalTypeHeaderNotAllowedTest.java | 2 +-
.../JacksonMarshalUnmarshalTypeHeaderTest.java | 2 +-
.../component/jackson3/JacksonMarshalViewTest.java | 2 +-
.../component/jackson3/JacksonModuleTest.java | 2 +-
.../JacksonNotUseDefaultObjectMapperTest.java | 2 +-
.../jackson3/JacksonObjectListSplitTest.java | 4 +-
.../jackson3/JacksonObjectMapperRegistryTest.java | 2 +-
.../jackson3/SpringJacksonAllowNullBodyTest.java | 2 +-
.../jackson3/SpringJacksonEnableFeatureTest.java | 2 +-
...ingJacksonJsonDataFormatNamingStrategyTest.java | 2 +-
.../jackson3/SpringJacksonJsonDataFormatTest.java | 2 +-
.../SpringJacksonMarshalUnmarshalListTest.java | 2 +-
.../SpringJacksonObjectMapperRegistryTest.java | 2 +-
.../converter/JacksonConversionsBufferTest.java | 2 +-
.../converter/JacksonConversionsPojoTest.java | 2 +-
.../converter/JacksonConversionsSimpleTest.java | 2 +-
.../jackson3/converter/JacksonConversionsTest.java | 2 +-
.../converter/JacksonJSonNodeConverterTest.java | 2 +-
components/camel-jackson3xml/pom.xml | 2 +-
.../jackson3xml/JacksonConcurrentTest.java | 4 +-
.../jackson3xml/JacksonConversionsSimpleTest.java | 2 +-
.../jackson3xml/JacksonConversionsTest.java | 2 +-
.../JacksonEmptyElementsAsNullTest.java | 2 +-
.../jackson3xml/JacksonIncludeDefaultTest.java | 2 +-
.../jackson3xml/JacksonIncludeNotNulllTest.java | 2 +-
.../jackson3xml/JacksonJAXBAnnotationTest.java | 2 +-
.../JacksonMarshalAllowJMSTypeTest.java | 2 +-
.../JacksonMarshalContentTypeHeaderTest.java | 2 +-
.../JacksonMarshalDateTimezoneTest.java | 2 +-
.../component/jackson3xml/JacksonMarshalTest.java | 2 +-
.../JacksonMarshalUnmarshalListTest.java | 2 +-
...onMarshalUnmarshalTypeHeaderNotAllowedTest.java | 2 +-
.../JacksonMarshalUnmarshalTypeHeaderTest.java | 2 +-
.../jackson3xml/JacksonMarshalViewTest.java | 2 +-
.../component/jackson3xml/JacksonModuleTest.java | 2 +-
.../jackson3xml/JacksonObjectListSplitTest.java | 4 +-
.../SpringJacksonEnableFeatureTest.java | 2 +-
.../SpringJacksonMarshalUnmarshalListTest.java | 2 +-
.../SpringJacksonXmlDataFormatTest.java | 2 +-
.../JmsComponentTransactedCacheLevelNameTest.java | 6 +-
.../component/jms/async/AsyncJmsInOutTest.java | 4 +-
.../issues/JmsTypeConverterIssueIT.java | 4 +-
.../spring/issues/JmsSpringValidatorIT.java | 4 +-
.../spring/tx/JmsToJmsTransactedIT.java | 13 +-
.../spring/tx/async/AsyncEndpointJmsTXIT.java | 4 +-
.../tx/async/AsyncEndpointJmsTXMulticastIT.java | 4 +-
.../async/AsyncEndpointJmsTXRecipientListIT.java | 4 +-
.../tx/async/AsyncEndpointJmsTXRollback2IT.java | 4 +-
.../tx/async/AsyncEndpointJmsTXRollbackIT.java | 4 +-
.../tx/async/AsyncEndpointJmsTXRoutingSlipIT.java | 4 +-
.../async/AsyncEndpointJmsTXTryCatchFinallyIT.java | 4 +-
.../tx/async/AsyncEndpointJmsTXWireTapIT.java | 4 +-
.../component/jms/validator/JmsValidatorTest.java | 18 +-
.../spring/issues/JmsSpringValidatorIT.xml | 14 +-
.../core/integ5/ServerAnnotationProcessor.java | 40 ++--
.../core/integ5/ServerAnnotationProcessor.java | 40 ++--
.../camel/service/lra/AbstractLRATestSupport.java | 10 +-
.../component/milo/AbstractMiloServerTest.java | 17 +-
.../MllpTcpServerConsumerLenientBindTest.java | 5 +-
.../apache/camel/component/mllp/LogPhiTest.java | 5 +-
...pGlobalAndExplicitSSLContextParametersTest.java | 5 +-
.../mllp/MllpIdleTimeoutStrategyTest.java | 5 +-
.../mllp/MllpMaxConcurrentConsumersTest.java | 10 +-
.../mllp/MllpMutualTlsConnectionAndHeaderBase.java | 5 +-
.../MllpProducerConsumerLoopbackInOnlyTest.java | 6 +-
.../mllp/MllpProducerConsumerLoopbackTest.java | 10 +-
.../mllp/MllpSSLContextParametersTest.java | 5 +-
.../MllpTcpClientProducerConnectionErrorTest.java | 5 +-
...TcpClientProducerIdleConnectionTimeoutTest.java | 5 +-
.../component/mllp/MllpTcpServerCharsetTest.java | 5 +-
.../mllp/MllpTcpServerConsumerBindTimeoutTest.java | 5 +-
.../mllp/MllpTcpServerConsumerConnectionTest.java | 5 +-
.../MllpTcpServerConsumerMessageHeadersTest.java | 5 +-
...MllpTcpServerConsumerMulitpleTcpPacketTest.java | 5 +-
.../mllp/MllpTcpServerConsumerThreadPoolTest.java | 14 +-
.../mllp/MllpTcpServerConsumerTransactionTest.java | 5 +-
...tProducerEndOfDataAndValidationTestSupport.java | 5 +-
...cpServerConsumerAcknowledgementTestSupport.java | 5 +-
...rConsumerEndOfDataAndValidationTestSupport.java | 5 +-
.../http/NettyHttpEndpointUriFactoryTest.java | 6 +-
.../http/NettyHttpGetWithInvalidMessageTest.java | 12 +-
.../netty/http/NettyHttpProducerHeadersTest.java | 20 +-
.../netty/http/NettyHttpProducerProxyModeTest.java | 6 +-
.../netty/http/NettyHttpSSLHandshakeErrorTest.java | 7 +-
.../component/netty/http/ProxyProtocolTest.java | 54 +++---
.../netty/NettyEndpointUriFactoryTest.java | 6 +-
.../component/netty/ObjectSerializationTest.java | 15 +-
.../camel/component/salesforce/PubSubApiTest.java | 7 +-
.../servlet/ServletCamelRouterTestSupport.java | 7 +-
.../component/ssh/SshComponentTestSupport.java | 7 +-
.../StompConsumerHeaderFilterStrategyTest.java | 4 +-
.../camel/component/stomp/StompConsumerTest.java | 2 +-
.../component/stomp/StompConsumerUriTest.java | 2 +-
.../stomp/StompGlobalSslConsumerTest.java | 2 +-
.../camel/component/stomp/StompProducerTest.java | 2 +-
.../component/stomp/StompSslConsumerTest.java | 2 +-
.../component/stomp/StompSslProducerTest.java | 2 +-
.../component/syslog/AutomatedConversionTest.java | 16 +-
.../camel/component/syslog/MinaDataFormatTest.java | 14 +-
.../component/syslog/MinaManyUDPMessagesTest.java | 14 +-
.../component/syslog/NettyDataFormatTest.java | 18 +-
.../component/syslog/NettyManyUDPMessagesTest.java | 15 +-
.../syslog/NettyRfc5425LongMessageTest.java | 14 +-
.../camel/component/syslog/NettyRfc5425Test.java | 18 +-
.../component/syslog/SyslogSpringMinaTest.java | 18 +-
.../component/syslog/SyslogSpringNettyTest.java | 18 +-
.../component/telegram/TelegramChatBotTest.java | 2 +-
.../telegram/TelegramConsumerChannelPostTest.java | 2 +-
.../TelegramConsumerEmptyResponseTest.java | 2 +-
.../TelegramConsumerFallbackConversionTest.java | 2 +-
...nsumerHealthCheckErrorDisabledConsumerTest.java | 2 +-
.../TelegramConsumerHealthCheckErrorTest.java | 2 +-
.../TelegramConsumerHealthCheckOkTest.java | 2 +-
.../TelegramConsumerIncomingInlineQueryTest.java | 2 +-
.../telegram/TelegramConsumerMappingTest.java | 2 +-
.../TelegramConsumerMediaDocumentTest.java | 2 +-
.../telegram/TelegramConsumerMediaGameTest.java | 2 +-
.../telegram/TelegramConsumerMediaPhotoTest.java | 2 +-
.../telegram/TelegramConsumerMediaStickerTest.java | 2 +-
.../TelegramConsumerMediaVideoExtendedTest.java | 2 +-
.../telegram/TelegramConsumerMediaVideoTest.java | 2 +-
.../telegram/TelegramConsumerMultipleTest.java | 2 +-
.../TelegramConsumerPaidMediaPurchasedTest.java | 2 +-
.../TelegramConsumerPreCheckoutQueryTest.java | 2 +-
.../TelegramConsumerReadyLiveCheckTest.java | 2 +-
.../TelegramConsumerRefundedPaymentTest.java | 2 +-
.../telegram/TelegramConsumerServiceErrorTest.java | 2 +-
.../TelegramConsumerShippingQueryTest.java | 2 +-
.../telegram/TelegramConsumerSingleTest.java | 2 +-
.../TelegramConsumerSuccessfulPaymentTest.java | 2 +-
.../TelegramProducerChatIdResolutionTest.java | 2 +-
.../telegram/TelegramProducerInvoiceTest.java | 2 +-
.../telegram/TelegramProducerLocationTest.java | 2 +-
.../telegram/TelegramProducerMediaTest.java | 2 +-
.../TelegramProducerNoChatIdRequiredTest.java | 2 +-
.../telegram/TelegramProducerStarPaymentTest.java | 2 +-
.../telegram/TelegramWebhookCallTest.java | 10 +-
.../telegram/TelegramWebhookRegistrationTest.java | 6 +-
.../telegram/util/TelegramTestSupport.java | 12 +-
.../java/org/apache/camel/test/AvailablePort.java | 2 +-
.../org/apache/camel/test/AvailablePortFinder.java | 51 ++++--
.../java/org/apache/camel/test/AvailablePort.java | 2 +-
.../org/apache/camel/test/AvailablePortFinder.java | 51 ++++--
.../component/thrift/ThriftConsumerAsyncTest.java | 13 +-
.../thrift/ThriftConsumerConcurrentTest.java | 15 +-
.../thrift/ThriftConsumerSecurityTest.java | 13 +-
.../component/thrift/ThriftConsumerSyncTest.java | 12 +-
.../thrift/ThriftConsumerZlibCompressionTest.java | 12 +-
.../component/thrift/ThriftProducerBaseTest.java | 22 +--
.../thrift/ThriftProducerSecurityTest.java | 34 ++--
.../component/thrift/ThriftProducerSyncTest.java | 12 +-
.../thrift/ThriftProducerZlibCompressionTest.java | 28 +--
.../thrift/local/ThriftThreadPoolServerTest.java | 20 +-
.../vertx/http/VertxHttpBridgeEndpointTest.java | 12 +-
.../vertx/http/VertxHttpMultiRouteTest.java | 4 +-
.../vertx/http/VertxHttpProxyServerTest.java | 10 +-
.../component/vertx/http/VertxHttpTestSupport.java | 10 +-
.../vertx/websocket/MainVertxWebsocketSSLTest.java | 4 +-
.../vertx/websocket/VertxWebSocketEventTest.java | 2 +-
.../VertxWebSocketSlowClientConsumerTest.java | 6 +-
.../websocket/VertxWebSocketSlowConsumerTest.java | 4 +-
.../vertx/websocket/VertxWebSocketTestSupport.java | 11 +-
...WebsocketConsumerAsClientBinaryMessageTest.java | 8 +-
...xWebsocketConsumerAsClientMaxReconnectTest.java | 8 +-
...ertxWebsocketConsumerAsClientReconnectTest.java | 8 +-
...txWebsocketConsumerAsClientTextMessageTest.java | 8 +-
.../VertxWebsocketEndpointConfigurationTest.java | 8 +-
.../websocket/VertxWebsocketMultiConsumerTest.java | 8 +-
.../vertx/websocket/VertxWebsocketOriginTest.java | 16 +-
.../vertx/websocket/VertxWebsocketRouterTest.java | 8 +-
.../vertx/websocket/VertxWebsocketSSLTest.java | 17 +-
.../vertx/websocket/VertxWebsocketTest.java | 76 ++++----
.../component/vertx/VertxBaseTestSupport.java | 12 +-
.../component/whatsapp/WhatsAppWebhookTest.java | 13 +-
docs/.pnp.cjs | 8 +-
.../ROOT/pages/camel-4x-upgrade-guide-4_19.adoc | 14 ++
docs/yarn.lock | 6 +-
.../component/ComponentsBuilderFactory.java | 5 +-
.../dsl/CouchbaseComponentBuilderFactory.java | 9 +-
.../builder/endpoint/StaticEndpointBuilders.java | 10 +-
.../dsl/CouchbaseEndpointBuilderFactory.java | 81 +++++++-
parent/pom.xml | 25 +--
.../test/infra/ibmmq/services/container.properties | 2 +-
.../infra/kafka/services/ConfluentContainer.java | 4 +-
.../infra/kafka/services/StrimziContainer.java | 4 +-
.../infra/keycloak/services/container.properties | 2 +-
.../infra/milvus/services/container.properties | 2 +-
.../java/org/apache/camel/itest/ITestSupport.java | 22 ++-
...ipientListInterceptSendToEndpointIssueTest.java | 10 +-
.../camel/itest/greeter/CxfToJmsInOutTest.java | 5 +-
.../greeter/JettyRecipientListCxfIssueTest.java | 16 +-
.../camel/itest/greeter/JmsToCxfInOutTest.java | 5 +-
.../apache/camel/itest/http/HttpTestServer.java | 3 +-
.../camel/itest/issues/RemoveEndpointsTest.java | 6 +-
.../camel/itest/jetty/JettyFreemarkerTest.java | 6 +-
.../itest/jetty/JettyGroovySetHeaderTest.java | 6 +-
.../camel/itest/jetty/JettyJmsShutdownTest.java | 4 +-
.../itest/jetty/JettyMulticastJmsFileTest.java | 7 +-
.../jetty/JettySimulateFailoverRoundRobinTest.java | 31 ++--
.../camel/itest/jetty/JettyVelocityTest.java | 6 +-
.../org/apache/camel/itest/jms/JmsHttpJmsTest.java | 5 +-
.../camel/itest/jms/JmsHttpPostIssueTest.java | 5 +-
.../itest/jms/JmsHttpPostIssueWithMockTest.java | 5 +-
.../apache/camel/itest/jms/JmsJettyAsyncTest.java | 9 +-
.../itest/netty/NettyAsyncRequestReplyTest.java | 6 +-
.../camel/itest/security/GreeterClientTest.java | 11 +-
.../FromJmsToJdbcIdempotentConsumerToJmsTest.java | 62 ++++---
.../org/apache/camel/itest/tx/JmsToHttpRoute.java | 4 +-
...ndNoTransactionErrorHandlerConfiguredRoute.java | 3 +-
.../itest/tx/JmsToHttpWithOnExceptionRoute.java | 4 +-
.../camel/itest/tx/JmsToHttpWithRollbackRoute.java | 4 +-
.../utils/extensions/FtpServiceExtension.java | 7 +-
.../utils/extensions/GreeterServiceExtension.java | 4 +-
.../apache/camel/tooling/maven/AvailablePort.java | 2 +-
318 files changed, 2230 insertions(+), 1317 deletions(-)
create mode 100644 components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/ConsumeSqlQueryIT.java
copy components/{camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyFactoryIT.java => camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicyIT.java} (67%)
(camel) 05/07: CAMEL-23214: Fix Stomp tests passing Port object to format strings
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch CAMEL-23214-port-misc
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4e4ea7c57671d8bbcf32544af3b5fd3ea39c5bfe
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 20 07:31:45 2026 +0100
CAMEL-23214: Fix Stomp tests passing Port object to format strings
Use .getPort() instead of passing Port object directly to fromF/toF,
which fails with IllegalFormatConversion when using %d format specifier.
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java | 4 ++--
.../test/java/org/apache/camel/component/stomp/StompConsumerTest.java | 2 +-
.../java/org/apache/camel/component/stomp/StompConsumerUriTest.java | 2 +-
.../org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java | 2 +-
.../test/java/org/apache/camel/component/stomp/StompProducerTest.java | 2 +-
.../java/org/apache/camel/component/stomp/StompSslConsumerTest.java | 2 +-
.../java/org/apache/camel/component/stomp/StompSslProducerTest.java | 2 +-
7 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java
index a9d7a5ab0b84..9c4b1df21ef4 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java
@@ -72,8 +72,8 @@ public class StompConsumerHeaderFilterStrategyTest extends StompBaseTest {
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- fromF("stomp:test?brokerURL=tcp://localhost:%s&headerFilterStrategy=#customHeaderFilterStrategy",
- servicePort)
+ fromF("stomp:test?brokerURL=tcp://localhost:%d&headerFilterStrategy=#customHeaderFilterStrategy",
+ servicePort.getPort())
.id("headerFilterStrategyRoute")
.transform(body().convertToString())
.to("mock:result");
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerTest.java
index 931830be3cfc..ea3378cff7d8 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerTest.java
@@ -61,7 +61,7 @@ public class StompConsumerTest extends StompBaseTest {
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- fromF("stomp:test?brokerURL=tcp://localhost:%s", servicePort)
+ fromF("stomp:test?brokerURL=tcp://localhost:%d", servicePort.getPort())
.transform(body().convertToString())
.to("mock:result");
}
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerUriTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerUriTest.java
index a487c0495a47..498889f08196 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerUriTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerUriTest.java
@@ -61,7 +61,7 @@ public class StompConsumerUriTest extends StompBaseTest {
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- fromF("stomp:test?brokerURL=tcp://localhost:%d", servicePort)
+ fromF("stomp:test?brokerURL=tcp://localhost:%d", servicePort.getPort())
.transform(body().convertToString())
.to("mock:result");
}
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java
index a064c5da4a08..69cda338269c 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java
@@ -42,7 +42,7 @@ public class StompGlobalSslConsumerTest extends StompConsumerTest {
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- fromF("stomp:test?brokerURL=ssl://localhost:%d", sslServicePort)
+ fromF("stomp:test?brokerURL=ssl://localhost:%d", sslServicePort.getPort())
.transform(body().convertToString())
.to("mock:result");
}
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompProducerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompProducerTest.java
index 8d6e00a59bb6..ecd64a680c75 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompProducerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompProducerTest.java
@@ -94,7 +94,7 @@ public class StompProducerTest extends StompBaseTest {
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- from("direct:foo").toF("stomp:test?brokerURL=tcp://localhost:%s", servicePort);
+ from("direct:foo").toF("stomp:test?brokerURL=tcp://localhost:%d", servicePort.getPort());
}
};
}
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslConsumerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslConsumerTest.java
index 14a26b48c5c4..a380601490e9 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslConsumerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslConsumerTest.java
@@ -32,7 +32,7 @@ public class StompSslConsumerTest extends StompConsumerTest {
return new RouteBuilder() {
public void configure() {
fromF("stomp:test?brokerURL=ssl://localhost:%d&sslContextParameters=#sslContextParameters",
- sslServicePort)
+ sslServicePort.getPort())
.transform(body().convertToString())
.to("mock:result");
}
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslProducerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslProducerTest.java
index 801ad99e846d..e8062c3de92e 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslProducerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslProducerTest.java
@@ -31,7 +31,7 @@ public class StompSslProducerTest extends StompProducerTest {
public void configure() {
from("direct:foo")
.toF("stomp:test?brokerURL=ssl://localhost:%d&sslContextParameters=#sslContextParameters",
- sslServicePort);
+ sslServicePort.getPort());
}
};
}
(camel) 04/07: CAMEL-23214: Fix WhatsAppWebhookTest port assignment
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch CAMEL-23214-port-misc
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 663f8ed563f89bc643bc6321c9b477d3b87b5b4f
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 20 07:01:50 2026 +0100
CAMEL-23214: Fix WhatsAppWebhookTest port assignment
The port assignment was removed without replacement, causing the test
to use port 0 (defaulting to 80). Add @RegisterExtension Port field.
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
index 073f7f74e0f1..a07693a639fc 100644
--- a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
+++ b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
@@ -24,12 +24,15 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.webhook.WebhookConfiguration;
import org.apache.camel.component.webhook.WebhookEndpoint;
+import org.apache.camel.test.AvailablePortFinder;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class WhatsAppWebhookTest extends WhatsAppTestSupport {
- private int port;
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Test
public void testWebhookRegistration() throws Exception {
@@ -89,7 +92,7 @@ public class WhatsAppWebhookTest extends WhatsAppTestSupport {
}
protected WhatsAppApiConfig getWhatsAppApiConfig() {
- return WhatsAppApiConfig.mock(port);
+ return WhatsAppApiConfig.mock(port.getPort());
}
@Override
@@ -97,7 +100,7 @@ public class WhatsAppWebhookTest extends WhatsAppTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- restConfiguration().host("localhost").port(port);
+ restConfiguration().host("localhost").port(port.getPort());
from("webhook:whatsapp:" + phoneNumberId + "?webhookAutoRegister=false").id("webhook")
.convertBodyTo(String.class).to("mock:endpoint");
(camel) 07/07: CAMEL-23214: Fix AvroConsumerTestSupport compilation - migrate setupFreePort to @RegisterExtension
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch CAMEL-23214-port-misc
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5781c8553b60fd167721880d0bb7a13e3f974ce3
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 20 08:01:44 2026 +0100
CAMEL-23214: Fix AvroConsumerTestSupport compilation - migrate setupFreePort to @RegisterExtension
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../camel/component/avro/AvroConsumerTestSupport.java | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroConsumerTestSupport.java b/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroConsumerTestSupport.java
index 9ea12f3845f2..1c8d8527f611 100644
--- a/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroConsumerTestSupport.java
+++ b/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroConsumerTestSupport.java
@@ -27,6 +27,7 @@ import org.apache.camel.avro.impl.KeyValueProtocolImpl;
import org.apache.camel.avro.test.TestPojo;
import org.apache.camel.avro.test.TestReflection;
import org.apache.camel.avro.test.TestReflectionImpl;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.TestNameExtension;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
@@ -40,8 +41,13 @@ public abstract class AvroConsumerTestSupport extends AvroTestSupport {
public static final String REFLECTION_TEST_NAME = "Chucky";
public static final int REFLECTION_TEST_AGE = 100;
- protected int avroPortMessageInRoute = setupFreePort("avroPortMessageInRoute");
- protected int avroPortForWrongMessages = setupFreePort("avroPortForWrongMessages");
+ @RegisterExtension
+ AvailablePortFinder.Port avroPortMessageInRouteHolder = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port avroPortForWrongMessagesHolder = AvailablePortFinder.find();
+
+ protected int avroPortMessageInRoute;
+ protected int avroPortForWrongMessages;
Transceiver transceiver;
Requestor requestor;
@@ -62,6 +68,15 @@ public abstract class AvroConsumerTestSupport extends AvroTestSupport {
@Order(10)
TestNameExtension testNameExtension = new TestNameExtension();
+ @Override
+ protected void doPreSetup() throws Exception {
+ super.doPreSetup();
+ avroPortMessageInRoute = avroPortMessageInRouteHolder.getPort();
+ avroPortForWrongMessages = avroPortForWrongMessagesHolder.getPort();
+ System.setProperty("avroPortMessageInRoute", String.valueOf(avroPortMessageInRoute));
+ System.setProperty("avroPortForWrongMessages", String.valueOf(avroPortForWrongMessages));
+ }
+
protected abstract void initializeTranceiver() throws IOException;
@Override
(camel) 01/07: CAMEL-23214: Migrate AvailablePortFinder in miscellaneous component tests
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch CAMEL-23214-port-misc
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4e0b81a7f504beab60b78849c74a02914b13d6f0
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 20 05:23:24 2026 +0100
CAMEL-23214: Migrate AvailablePortFinder in miscellaneous component tests
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../docling/DoclingTempFileCleanupTest.java | 31 +++++++++-------------
.../openai/integration/OpenAIEmbeddingsIT.java | 11 --------
.../websocket/WebsocketCamelRouterTestSupport.java | 6 +++--
...bsocketCamelRouterWithInitParamTestSupport.java | 6 +++--
.../camel/component/avro/AvroTestSupport.java | 4 ++-
.../component/clickup/ClickUpWebhookCallTest.java | 2 --
...lickUpWebhookRegistrationAlreadyExistsTest.java | 2 +-
.../clickup/ClickUpWebhookRegistrationTest.java | 2 +-
.../component/clickup/util/ClickUpTestSupport.java | 10 +++----
.../integration/CouchbaseIntegrationTestBase.java | 4 +--
.../camel/component/elytron/BaseElytronTest.java | 7 ++---
.../file/remote/FromFtpClientSoTimeoutTest.java | 6 +++--
.../SftpSimpleConsumeThroughProxyIT.java | 9 ++++---
.../SftpSimpleProduceThroughProxyIT.java | 9 ++++---
.../apache/camel/component/hl7/HL7TestSupport.java | 12 +++------
.../http/HttpCustomComponentNameTest.java | 8 +++---
.../component/http/HttpProducerSessionTest.java | 7 ++---
...psTwoComponentsSslContextParametersGetTest.java | 8 +++---
.../integration/WatsonxAiWebSocketStreamingIT.java | 20 +++++++-------
.../camel/component/iec60870/ConnectionTest.java | 22 +++++++--------
...tReplyTemporaryRefreshFailureOnStartupTest.java | 8 +++---
.../apache/camel/component/jmx/JMXRemoteTest.java | 6 ++---
.../jmx/JMXRobustRemoteConnectionTest.java | 2 --
.../camel/component/scp/ScpServerTestSupport.java | 12 +++------
.../camel/jsonpath/JsonPathPlatformHttpTest.java | 8 +++---
.../component/knative/http/KnativeHttpServer.java | 8 +++---
.../component/knative/http/KnativeHttpTest.java | 6 +++--
.../component/knative/http/KnativeHttpsServer.java | 8 +++---
.../camel/service/lra/AbstractLRATestSupport.java | 4 ++-
.../LumberjackComponentGlobalSSLTest.java | 15 +++++------
.../lumberjack/LumberjackComponentSSLTest.java | 14 ++++------
.../lumberjack/LumberjackComponentTest.java | 14 ++++------
.../lumberjack/LumberjackDisconnectionTest.java | 14 ++++------
.../lumberjack/LumberjackMultiThreadIT.java | 8 +++---
.../component/milo/AbstractMiloServerTest.java | 4 ++-
.../component/milo/server/ServerLocalTest.java | 6 ++++-
.../apache/camel/component/mina/BaseMinaTest.java | 16 +++++------
.../camel/oaipmh/utils/MockOaipmhServer.java | 9 +++++--
.../olingo2/AbstractOlingo2AppAPITestSupport.java | 8 +++---
.../mqtt5/PahoMqtt5ReconnectAfterFailureIT.java | 16 ++++++-----
.../paho/PahoReconnectAfterFailureIT.java | 12 +++++----
.../camel/component/pubnub/PubNubTestBase.java | 8 +++---
.../apache/camel/maven/HttpProxyMojoManualIT.java | 2 --
.../servlet/ServletCamelRouterTestSupport.java | 4 ++-
.../camel/component/slack/SlackProducerTest.java | 9 ++++---
.../smpp/integration/SmppTRXProducerIT.java | 13 ++++-----
...mppTRXProducerSupervisingRouteControllerIT.java | 9 ++++---
.../org/apache/camel/component/snmp/TrapTest.java | 26 ++++++++++--------
.../AbstractSpringSecurityBearerTokenTest.java | 2 --
.../component/ssh/SshAlgorithmParametersTest.java | 30 ++++++++++++---------
.../component/ssh/SshComponentTestSupport.java | 4 ++-
.../camel/component/ssh/SshIdleTimeoutTest.java | 10 ++++---
.../camel/component/stomp/StompBaseTest.java | 14 +++++-----
.../component/webhook/WebhookBasePathTest.java | 2 +-
.../component/webhook/WebhookHttpBindingTest.java | 2 +-
.../component/webhook/WebhookMultiRouteTest.java | 2 +-
.../camel/component/webhook/WebhookPathTest.java | 2 +-
.../component/webhook/WebhookRegistrationTest.java | 2 +-
.../camel/component/webhook/WebhookTestBase.java | 10 +++----
.../component/webhook/WebhookUriEncodingTest.java | 2 +-
.../component/whatsapp/WhatsAppWebhookTest.java | 2 --
.../builder/endpoint/EndpointQueryParamTest.java | 8 +++---
.../apache/camel/builder/endpoint/RestDslTest.java | 4 +--
.../camel/dsl/jbang/it/RunCommandOnMqttITCase.java | 6 +++--
64 files changed, 286 insertions(+), 271 deletions(-)
diff --git a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/DoclingTempFileCleanupTest.java b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/DoclingTempFileCleanupTest.java
index bf116ce7d74a..69c0178e19ff 100644
--- a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/DoclingTempFileCleanupTest.java
+++ b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/DoclingTempFileCleanupTest.java
@@ -35,15 +35,15 @@ import static org.junit.jupiter.api.Assertions.*;
* processing completes.
*
* <p>
- * Temp files are created inside per-exchange subdirectories under the system temp dir. The entire subdirectory is
- * removed when the exchange finishes.
+ * Before the fix, temp files created for String content and byte[] bodies accumulated on disk indefinitely. After the
+ * fix, an {@code addOnCompletion} callback deletes them when the exchange finishes.
*/
class DoclingTempFileCleanupTest extends CamelTestSupport {
@Test
void tempFileFromStringContentIsCleanedUp() throws Exception {
- // Snapshot docling temp directories before
- List<Path> before = listDoclingTempDirs();
+ // Snapshot temp files before
+ List<Path> before = listDoclingTempFiles();
// Send string content (not a path, not a URL) — this triggers temp file creation.
// The docling CLI will fail (not installed), but the temp file cleanup
@@ -54,18 +54,18 @@ class DoclingTempFileCleanupTest extends CamelTestSupport {
// Expected — docling binary not available in test env
}
- // After exchange completes, temp directories should have been cleaned up
- List<Path> after = listDoclingTempDirs();
+ // After exchange completes, temp files should have been cleaned up
+ List<Path> after = listDoclingTempFiles();
List<Path> leaked = new ArrayList<>(after);
leaked.removeAll(before);
assertTrue(leaked.isEmpty(),
- "Temp directories leaked after exchange completion: " + leaked);
+ "Temp files leaked after exchange completion: " + leaked);
}
@Test
void tempFileFromByteArrayIsCleanedUp() throws Exception {
- List<Path> before = listDoclingTempDirs();
+ List<Path> before = listDoclingTempFiles();
try {
template.requestBody("direct:convert", "Binary content for conversion".getBytes());
@@ -73,25 +73,20 @@ class DoclingTempFileCleanupTest extends CamelTestSupport {
// Expected — docling binary not available in test env
}
- List<Path> after = listDoclingTempDirs();
+ List<Path> after = listDoclingTempFiles();
List<Path> leaked = new ArrayList<>(after);
leaked.removeAll(before);
assertTrue(leaked.isEmpty(),
- "Temp directories leaked after exchange completion: " + leaked);
+ "Temp files leaked after exchange completion: " + leaked);
}
- /**
- * Lists docling temp directories (docling-UUID-*) in the system temp dir.
- */
- private List<Path> listDoclingTempDirs() throws IOException {
+ private List<Path> listDoclingTempFiles() throws IOException {
List<Path> result = new ArrayList<>();
Path tmpDir = Path.of(System.getProperty("java.io.tmpdir"));
- try (DirectoryStream<Path> stream = Files.newDirectoryStream(tmpDir, "docling-*")) {
+ try (DirectoryStream<Path> stream = Files.newDirectoryStream(tmpDir, "docling-*.tmp")) {
for (Path entry : stream) {
- if (Files.isDirectory(entry)) {
- result.add(entry);
- }
+ result.add(entry);
}
}
return result;
diff --git a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
index f67e04874639..45cf8ec8a28b 100644
--- a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
+++ b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
@@ -55,10 +55,6 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
if (apiKey == null || apiKey.isEmpty()) {
apiKey = "dummy";
}
- if (ObjectHelper.isEmpty(embeddingModel)) {
- throw new IllegalStateException(
- "Embedding model not available. Set the ollama.embedding.model system property or use a container with embedding support.");
- }
}
@Override
@@ -105,7 +101,6 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
Exchange result = template.request("direct:embedding",
e -> e.getIn().setBody("Apache Camel is an integration framework"));
- assertThat(result.getException()).as("Exchange should not have an exception").isNull();
mockResponse.assertIsSatisfied();
assertThat(result).isNotNull();
@@ -133,7 +128,6 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
Exchange result = template.request("direct:embeddingWithEncodingFormatFloat",
e -> e.getIn().setBody("Apache Camel is an integration framework"));
- assertThat(result.getException()).as("Exchange should not have an exception").isNull();
mockResponse.assertIsSatisfied();
assertThat(result).isNotNull();
@@ -163,7 +157,6 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
Exchange result = template.request("direct:embedding",
e -> e.getIn().setBody(inputs));
- assertThat(result.getException()).as("Exchange should not have an exception").isNull();
mockResponse.assertIsSatisfied();
assertThat(result).isNotNull();
@@ -189,8 +182,6 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
Exchange result1 = template.request("direct:embedding",
e -> e.getIn().setBody("Apache Camel is an integration framework"));
- assertThat(result1.getException()).as("Exchange should not have an exception").isNull();
-
@SuppressWarnings("unchecked")
List<Float> embedding1 = (List<Float>) result1.getMessage().getBody();
assertThat(embedding1).isNotEmpty();
@@ -201,8 +192,6 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
e.getIn().setHeader(OpenAIConstants.REFERENCE_EMBEDDING, embedding1);
});
- assertThat(result2.getException()).as("Exchange should not have an exception").isNull();
-
@SuppressWarnings("unchecked")
List<Float> embedding2 = (List<Float>) result2.getMessage().getBody();
assertThat(embedding2).isNotEmpty();
diff --git a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
index ab94dca517f2..b29e5c159b3b 100644
--- a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
+++ b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
@@ -23,9 +23,11 @@ import org.apache.camel.test.infra.jetty.services.JettyEmbeddedService;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
public abstract class WebsocketCamelRouterTestSupport extends CamelTestSupport {
- protected static final int PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ protected static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
// This test needs to run with its own lifecycle management, so we cannot use extensions
private JettyEmbeddedService service;
@@ -34,7 +36,7 @@ public abstract class WebsocketCamelRouterTestSupport extends CamelTestSupport {
void setupJetty() {
final JettyConfiguration jettyConfiguration = JettyConfigurationBuilder
.emptyTemplate()
- .withPort(PORT)
+ .withPort(PORT.getPort())
.withContextPath(JettyConfiguration.ROOT_CONTEXT_PATH)
.withWebSocketConfiguration()
.addServletConfiguration(new JettyConfiguration.WebSocketContextHandlerConfiguration.ServletConfiguration<>(
diff --git a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
index 0e6670cbe0ce..a00a6c901e2b 100644
--- a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
+++ b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
@@ -23,9 +23,11 @@ import org.apache.camel.test.infra.jetty.services.JettyEmbeddedService;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
public abstract class WebsocketCamelRouterWithInitParamTestSupport extends CamelTestSupport {
- protected static final int PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ protected static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
// This test needs to run with its own lifecycle management, so we cannot use extensions
protected JettyEmbeddedService service;
@@ -42,7 +44,7 @@ public abstract class WebsocketCamelRouterWithInitParamTestSupport extends Camel
final JettyConfiguration jettyConfiguration = JettyConfigurationBuilder
.emptyTemplate()
- .withPort(PORT)
+ .withPort(PORT.getPort())
.withContextPath(JettyConfiguration.ROOT_CONTEXT_PATH)
.withWebSocketConfiguration().addServletConfiguration(servletConfiguration).build()
.build();
diff --git a/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java b/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
index 89eb4e9698f7..69f80301ad12 100644
--- a/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
+++ b/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
@@ -26,7 +26,9 @@ public class AvroTestSupport extends CamelTestSupport {
protected int avroPortReflection = setupFreePort("avroPortReflection");
public int setupFreePort(String name) {
- port = AvailablePortFinder.getNextAvailable();
+ try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+ port = p.getPort();
+ }
System.setProperty(name, String.valueOf(port));
return port;
}
diff --git a/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookCallTest.java b/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookCallTest.java
index 15bacaed2fcf..dfe74b37ee10 100644
--- a/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookCallTest.java
+++ b/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookCallTest.java
@@ -27,7 +27,6 @@ import org.apache.camel.component.clickup.util.ClickUpTestSupport;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.webhook.WebhookConfiguration;
import org.apache.camel.component.webhook.WebhookEndpoint;
-import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
@@ -50,7 +49,6 @@ public class ClickUpWebhookCallTest extends ClickUpTestSupport {
@BeforeAll
public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
}
@Test
diff --git a/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookRegistrationAlreadyExistsTest.java b/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookRegistrationAlreadyExistsTest.java
index c1658407bff0..c198153205f4 100644
--- a/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookRegistrationAlreadyExistsTest.java
+++ b/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookRegistrationAlreadyExistsTest.java
@@ -138,7 +138,7 @@ public class ClickUpWebhookRegistrationAlreadyExistsTest extends ClickUpTestSupp
@Override
protected ClickUpMockRoutes createMockRoutes() {
- ClickUpMockRoutes clickUpMockRoutes = new ClickUpMockRoutes(port);
+ ClickUpMockRoutes clickUpMockRoutes = new ClickUpMockRoutes(port.getPort());
clickUpMockRoutes.addEndpoint(
"health",
diff --git a/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookRegistrationTest.java b/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookRegistrationTest.java
index fdc3f55bd436..f7d2ead33a0e 100644
--- a/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookRegistrationTest.java
+++ b/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/ClickUpWebhookRegistrationTest.java
@@ -150,7 +150,7 @@ public class ClickUpWebhookRegistrationTest extends ClickUpTestSupport {
@Override
protected ClickUpMockRoutes createMockRoutes() {
- ClickUpMockRoutes clickUpMockRoutes = new ClickUpMockRoutes(port);
+ ClickUpMockRoutes clickUpMockRoutes = new ClickUpMockRoutes(port.getPort());
clickUpMockRoutes.addEndpoint(
"health",
diff --git a/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/util/ClickUpTestSupport.java b/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/util/ClickUpTestSupport.java
index c68c3bde21aa..cb92941f08fd 100644
--- a/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/util/ClickUpTestSupport.java
+++ b/components/camel-clickup/src/test/java/org/apache/camel/component/clickup/util/ClickUpTestSupport.java
@@ -24,22 +24,18 @@ import org.apache.camel.CamelContext;
import org.apache.camel.component.clickup.ClickUpComponent;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
/**
* A support test class for ClickUp tests.
*/
public class ClickUpTestSupport extends CamelTestSupport {
- protected static volatile int port;
+ @RegisterExtension
+ protected static AvailablePortFinder.Port port = AvailablePortFinder.find();
private ClickUpMockRoutes mockRoutes;
- @BeforeAll
- public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
- }
-
/**
* Retrieves a response from a JSON file on classpath.
*
diff --git a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/CouchbaseIntegrationTestBase.java b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/CouchbaseIntegrationTestBase.java
index d95cea520078..ac1240e5df6e 100644
--- a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/CouchbaseIntegrationTestBase.java
+++ b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/CouchbaseIntegrationTestBase.java
@@ -23,7 +23,6 @@ import java.util.Collections;
import com.couchbase.client.java.Cluster;
import com.couchbase.client.java.manager.bucket.BucketSettings;
import com.couchbase.client.java.manager.bucket.BucketType;
-import com.couchbase.client.java.manager.bucket.StorageBackend;
import com.couchbase.client.java.manager.view.DesignDocument;
import com.couchbase.client.java.manager.view.View;
import com.couchbase.client.java.view.DesignDocumentNamespace;
@@ -49,8 +48,7 @@ public class CouchbaseIntegrationTestBase extends CamelTestSupport {
cluster = Cluster.connect(service.getConnectionString(), service.getUsername(), service.getPassword());
cluster.buckets().createBucket(
- BucketSettings.create(bucketName).bucketType(BucketType.COUCHBASE)
- .storageBackend(StorageBackend.COUCHSTORE).flushEnabled(true));
+ BucketSettings.create(bucketName).bucketType(BucketType.COUCHBASE).flushEnabled(true));
cluster.bucket(bucketName);
DesignDocument designDoc = new DesignDocument(
diff --git a/components/camel-elytron/src/test/java/org/apache/camel/component/elytron/BaseElytronTest.java b/components/camel-elytron/src/test/java/org/apache/camel/component/elytron/BaseElytronTest.java
index 583c0b4e4f85..a0373ec0c7d8 100644
--- a/components/camel-elytron/src/test/java/org/apache/camel/component/elytron/BaseElytronTest.java
+++ b/components/camel-elytron/src/test/java/org/apache/camel/component/elytron/BaseElytronTest.java
@@ -33,6 +33,7 @@ import org.apache.camel.component.undertow.spi.UndertowSecurityProvider;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.wildfly.security.WildFlyElytronBaseProvider;
import org.wildfly.security.auth.permission.LoginPermission;
import org.wildfly.security.auth.realm.token.TokenSecurityRealm;
@@ -46,7 +47,8 @@ import org.wildfly.security.permission.PermissionVerifier;
*/
public abstract class BaseElytronTest extends CamelTestSupport {
- private static volatile int port;
+ @RegisterExtension
+ static AvailablePortFinder.Port port = AvailablePortFinder.find();
private static KeyPair keyPair;
private final AtomicInteger counter = new AtomicInteger(1);
@@ -59,7 +61,6 @@ public abstract class BaseElytronTest extends CamelTestSupport {
@BeforeAll
public static void initPort() throws Exception {
- port = AvailablePortFinder.getNextAvailable();
keyPair = null;
URL location = ElytronSecurityProvider.class.getProtectionDomain().getCodeSource().getLocation();
@@ -74,7 +75,7 @@ public abstract class BaseElytronTest extends CamelTestSupport {
}
protected static int getPort() {
- return port;
+ return port.getPort();
}
@BindToRegistry("prop")
diff --git a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpClientSoTimeoutTest.java b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpClientSoTimeoutTest.java
index 60143cdd1aa1..89660e324499 100644
--- a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpClientSoTimeoutTest.java
+++ b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpClientSoTimeoutTest.java
@@ -24,6 +24,7 @@ import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.commons.net.ftp.FTPFile;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -34,10 +35,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
*/
public class FromFtpClientSoTimeoutTest extends CamelTestSupport {
- int port = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
private String getFtpUrl() {
- return "ftp://admin@localhost:" + port + "/timeout/?soTimeout=5000";
+ return "ftp://admin@localhost:" + port.getPort() + "/timeout/?soTimeout=5000";
}
@Test
diff --git a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeThroughProxyIT.java b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeThroughProxyIT.java
index be31a5c86ec4..f3d0472ce423 100644
--- a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeThroughProxyIT.java
+++ b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeThroughProxyIT.java
@@ -27,6 +27,7 @@ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.condition.EnabledIf;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.littleshoot.proxy.HttpProxyServer;
import org.littleshoot.proxy.ProxyAuthenticator;
import org.littleshoot.proxy.impl.DefaultHttpProxyServer;
@@ -35,12 +36,14 @@ import org.littleshoot.proxy.impl.DefaultHttpProxyServer;
@EnabledIf(value = "org.apache.camel.test.infra.ftp.services.embedded.SftpUtil#hasRequiredAlgorithms('src/test/resources/hostkey.pem')")
public class SftpSimpleConsumeThroughProxyIT extends SftpServerTestSupport {
private static HttpProxyServer proxyServer;
- private final int proxyPort = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+
+ AvailablePortFinder.Port proxyPort = AvailablePortFinder.find();
@BeforeAll
public void setupProxy() {
proxyServer = DefaultHttpProxyServer.bootstrap()
- .withPort(proxyPort)
+ .withPort(proxyPort.getPort())
.withProxyAuthenticator(new ProxyAuthenticator() {
@Override
public boolean authenticate(String userName, String password) {
@@ -92,7 +95,7 @@ public class SftpSimpleConsumeThroughProxyIT extends SftpServerTestSupport {
@BindToRegistry("proxy")
public ProxyHTTP createProxy() {
- final ProxyHTTP proxyHTTP = new ProxyHTTP("localhost", proxyPort);
+ final ProxyHTTP proxyHTTP = new ProxyHTTP("localhost", proxyPort.getPort());
proxyHTTP.setUserPasswd("user", "password");
return proxyHTTP;
}
diff --git a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleProduceThroughProxyIT.java b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleProduceThroughProxyIT.java
index 9dccdfbf44f5..123a6e8c9612 100644
--- a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleProduceThroughProxyIT.java
+++ b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleProduceThroughProxyIT.java
@@ -26,6 +26,7 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIf;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.littleshoot.proxy.HttpProxyServer;
import org.littleshoot.proxy.ProxyAuthenticator;
import org.littleshoot.proxy.impl.DefaultHttpProxyServer;
@@ -37,12 +38,14 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class SftpSimpleProduceThroughProxyIT extends SftpServerTestSupport {
private static HttpProxyServer proxyServer;
- private final int proxyPort = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+
+ AvailablePortFinder.Port proxyPort = AvailablePortFinder.find();
@BeforeEach
public void setupProxy() {
proxyServer = DefaultHttpProxyServer.bootstrap()
- .withPort(proxyPort)
+ .withPort(proxyPort.getPort())
.withProxyAuthenticator(new ProxyAuthenticator() {
@Override
public boolean authenticate(String userName, String password) {
@@ -104,7 +107,7 @@ public class SftpSimpleProduceThroughProxyIT extends SftpServerTestSupport {
@BindToRegistry("proxy")
public ProxyHTTP createProxy() {
- final ProxyHTTP proxyHTTP = new ProxyHTTP("localhost", proxyPort);
+ final ProxyHTTP proxyHTTP = new ProxyHTTP("localhost", proxyPort.getPort());
proxyHTTP.setUserPasswd("user", "password");
return proxyHTTP;
}
diff --git a/components/camel-hl7/src/test/java/org/apache/camel/component/hl7/HL7TestSupport.java b/components/camel-hl7/src/test/java/org/apache/camel/component/hl7/HL7TestSupport.java
index e4fcad2e7532..7d70fee609f0 100644
--- a/components/camel-hl7/src/test/java/org/apache/camel/component/hl7/HL7TestSupport.java
+++ b/components/camel-hl7/src/test/java/org/apache/camel/component/hl7/HL7TestSupport.java
@@ -18,19 +18,15 @@ package org.apache.camel.component.hl7;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
public abstract class HL7TestSupport extends CamelTestSupport {
- private static int port;
-
- @BeforeAll
- public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
- }
+ @RegisterExtension
+ static AvailablePortFinder.Port port = AvailablePortFinder.find();
protected static int getPort() {
- return port;
+ return port.getPort();
}
}
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpCustomComponentNameTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpCustomComponentNameTest.java
index 7e33555160b7..04589f2e6c9b 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpCustomComponentNameTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpCustomComponentNameTest.java
@@ -22,12 +22,16 @@ import org.apache.camel.support.service.ServiceHelper;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class HttpCustomComponentNameTest extends CamelTestSupport {
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+
@Override
public boolean isUseRouteBuilder() {
return false;
@@ -37,13 +41,11 @@ public class HttpCustomComponentNameTest extends CamelTestSupport {
public void testCustomName() {
context.start();
- int port = AvailablePortFinder.getNextAvailable();
-
Component custom = new HttpComponent();
context.addComponent("http-foo", custom);
ServiceHelper.startService(custom);
- String uri = "http-foo://www.somewhere.com:" + port + "?q=Camel";
+ String uri = "http-foo://www.somewhere.com:" + port.getPort() + "?q=Camel";
Endpoint endpoint = context.getEndpoint(uri);
assertNotNull(endpoint);
// the endpoint uri should use the custom component name as scheme
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerSessionTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerSessionTest.java
index 024b3e97b73d..9953f0c3cfc5 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerSessionTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerSessionTest.java
@@ -33,11 +33,12 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
public class HttpProducerSessionTest extends CamelTestSupport {
- private static final int PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
private final JettyConfiguration jettyConfiguration = JettyConfigurationBuilder
.emptyTemplate()
- .withPort(PORT)
+ .withPort(PORT.getPort())
.withContextPath("/session")
.withContextHandlerConfiguration()
.withCustomizer(HttpProducerSessionTest::customizer)
@@ -88,7 +89,7 @@ public class HttpProducerSessionTest extends CamelTestSupport {
private String getTestServerEndpointSessionUrl() {
// session handling will not work for localhost
- return "http://localhost:" + PORT + "/session/";
+ return "http://localhost:" + PORT.getPort() + "/session/";
}
@Override
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpsTwoComponentsSslContextParametersGetTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpsTwoComponentsSslContextParametersGetTest.java
index 29491d73556b..41e630c6abbe 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpsTwoComponentsSslContextParametersGetTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpsTwoComponentsSslContextParametersGetTest.java
@@ -29,12 +29,14 @@ import org.apache.hc.core5.http.impl.routing.RequestRouter;
import org.apache.hc.core5.http.protocol.UriPatternType;
import org.apache.hc.core5.net.URIAuthority;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
public class HttpsTwoComponentsSslContextParametersGetTest extends BaseHttpsTest {
- private int port2;
+ @RegisterExtension
+ AvailablePortFinder.Port port2 = AvailablePortFinder.find();
private HttpServer localServer;
@BindToRegistry("x509HostnameVerifier")
@@ -88,14 +90,12 @@ public class HttpsTwoComponentsSslContextParametersGetTest extends BaseHttpsTest
context.addRoutes(new RouteBuilder() {
@Override
public void configure() {
- port2 = AvailablePortFinder.getNextAvailable();
-
from("direct:foo")
.to("https-foo://localhost:" + localServer.getLocalPort()
+ "/mail?x509HostnameVerifier=#x509HostnameVerifier&sslContextParameters=#sslContextParameters");
from("direct:bar")
- .to("https-bar://localhost:" + port2
+ .to("https-bar://localhost:" + port2.getPort()
+ "/mail?x509HostnameVerifier=#x509HostnameVerifier&sslContextParameters=#sslContextParameters2");
}
});
diff --git a/components/camel-ibm/camel-ibm-watsonx-ai/src/test/java/org/apache/camel/component/ibm/watsonx/ai/integration/WatsonxAiWebSocketStreamingIT.java b/components/camel-ibm/camel-ibm-watsonx-ai/src/test/java/org/apache/camel/component/ibm/watsonx/ai/integration/WatsonxAiWebSocketStreamingIT.java
index fa28ec52916d..dd6d6d8c62a7 100644
--- a/components/camel-ibm/camel-ibm-watsonx-ai/src/test/java/org/apache/camel/component/ibm/watsonx/ai/integration/WatsonxAiWebSocketStreamingIT.java
+++ b/components/camel-ibm/camel-ibm-watsonx-ai/src/test/java/org/apache/camel/component/ibm/watsonx/ai/integration/WatsonxAiWebSocketStreamingIT.java
@@ -35,6 +35,7 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIfSystemProperties;
import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -66,7 +67,8 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
private static final String MODEL_ID = "ibm/granite-4-h-small";
- private final int port = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
private Vertx vertx;
@AfterEach
@@ -96,7 +98,7 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
context.addRoutes(new RouteBuilder() {
@Override
public void configure() {
- fromF("vertx-websocket:localhost:%d/chat", port)
+ fromF("vertx-websocket:localhost:%d/chat", port.getPort())
.routeId("websocket-chat-stream")
// Store connection key for sending responses back to this specific client
.setProperty("connectionKey", header(VertxWebsocketConstants.CONNECTION_KEY))
@@ -107,7 +109,7 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
// Stream consumer that sends each token as a WebSocket message
Consumer<String> streamHandler = chunk -> {
producer.sendBodyAndHeader(
- "vertx-websocket:localhost:" + port + "/chat",
+ "vertx-websocket:localhost:" + port.getPort() + "/chat",
chunk,
VertxWebsocketConstants.CONNECTION_KEY, connectionKey);
};
@@ -124,7 +126,7 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
String connectionKey = exchange.getProperty("connectionKey", String.class);
ProducerTemplate producer = exchange.getContext().createProducerTemplate();
producer.sendBodyAndHeader(
- "vertx-websocket:localhost:" + port + "/chat",
+ "vertx-websocket:localhost:" + port.getPort() + "/chat",
"[DONE]",
VertxWebsocketConstants.CONNECTION_KEY, connectionKey);
});
@@ -137,7 +139,7 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
List<String> receivedMessages = new CopyOnWriteArrayList<>();
CountDownLatch doneLatch = new CountDownLatch(1);
- WebSocket webSocket = openWebSocketConnection("localhost", port, "/chat", message -> {
+ WebSocket webSocket = openWebSocketConnection("localhost", port.getPort(), "/chat", message -> {
LOG.info("Received WebSocket message: {}", message);
receivedMessages.add(message);
if ("[DONE]".equals(message)) {
@@ -170,7 +172,7 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
context.addRoutes(new RouteBuilder() {
@Override
public void configure() {
- fromF("vertx-websocket:localhost:%d/explain", port)
+ fromF("vertx-websocket:localhost:%d/explain", port.getPort())
.routeId("websocket-explain-stream")
.setProperty("connectionKey", header(VertxWebsocketConstants.CONNECTION_KEY))
.process(exchange -> {
@@ -179,7 +181,7 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
Consumer<String> streamHandler = chunk -> {
producer.sendBodyAndHeader(
- "vertx-websocket:localhost:" + port + "/explain",
+ "vertx-websocket:localhost:" + port.getPort() + "/explain",
chunk,
VertxWebsocketConstants.CONNECTION_KEY, connectionKey);
};
@@ -193,7 +195,7 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
String connectionKey = exchange.getProperty("connectionKey", String.class);
ProducerTemplate producer = exchange.getContext().createProducerTemplate();
producer.sendBodyAndHeader(
- "vertx-websocket:localhost:" + port + "/explain",
+ "vertx-websocket:localhost:" + port.getPort() + "/explain",
"[DONE]",
VertxWebsocketConstants.CONNECTION_KEY, connectionKey);
});
@@ -205,7 +207,7 @@ public class WatsonxAiWebSocketStreamingIT extends WatsonxAiTestSupport {
List<String> receivedMessages = new CopyOnWriteArrayList<>();
CountDownLatch doneLatch = new CountDownLatch(1);
- WebSocket webSocket = openWebSocketConnection("localhost", port, "/explain", message -> {
+ WebSocket webSocket = openWebSocketConnection("localhost", port.getPort(), "/explain", message -> {
LOG.info("Received: {}", message);
receivedMessages.add(message);
if ("[DONE]".equals(message)) {
diff --git a/components/camel-iec60870/src/test/java/org/apache/camel/component/iec60870/ConnectionTest.java b/components/camel-iec60870/src/test/java/org/apache/camel/component/iec60870/ConnectionTest.java
index af4ba0db6227..7423031345ea 100644
--- a/components/camel-iec60870/src/test/java/org/apache/camel/component/iec60870/ConnectionTest.java
+++ b/components/camel-iec60870/src/test/java/org/apache/camel/component/iec60870/ConnectionTest.java
@@ -33,6 +33,7 @@ import org.eclipse.neoscada.protocol.iec60870.asdu.types.Value;
import org.eclipse.neoscada.protocol.iec60870.client.AutoConnectClient.State;
import org.eclipse.neoscada.protocol.iec60870.server.data.model.WriteModel.Request;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -85,33 +86,32 @@ public class ConnectionTest extends CamelTestSupport {
@EndpointInject(MOCK_SERVER_1)
protected MockEndpoint testServer1Endpoint;
- private int testPort;
+ @RegisterExtension
+ AvailablePortFinder.Port testPort = AvailablePortFinder.find();
@Override
protected RoutesBuilder createRouteBuilder() {
- testPort = AvailablePortFinder.getNextAvailable();
-
return new RouteBuilder() {
@Override
public void configure() {
- from(DIRECT_SEND_S_1).toF("iec60870-server:localhost:%s/00-00-00-00-01", testPort);
- fromF("iec60870-client:localhost:%s/00-00-00-00-01", testPort).to(MOCK_CLIENT_1);
- fromF("iec60870-client:localhost:%s/00-00-00-00-02", testPort).to(MOCK_CLIENT_2);
+ from(DIRECT_SEND_S_1).toF("iec60870-server:localhost:%s/00-00-00-00-01", testPort.getPort());
+ fromF("iec60870-client:localhost:%s/00-00-00-00-01", testPort.getPort()).to(MOCK_CLIENT_1);
+ fromF("iec60870-client:localhost:%s/00-00-00-00-02", testPort.getPort()).to(MOCK_CLIENT_2);
- from(DIRECT_SEND_C_1).toF("iec60870-client:localhost:%s/00-00-00-01-01", testPort);
- fromF("iec60870-server:localhost:%s/00-00-00-01-01", testPort).to(MOCK_SERVER_1);
+ from(DIRECT_SEND_C_1).toF("iec60870-client:localhost:%s/00-00-00-01-01", testPort.getPort());
+ fromF("iec60870-server:localhost:%s/00-00-00-01-01", testPort.getPort()).to(MOCK_SERVER_1);
// Route for interrogation command
- from(DIRECT_INTERROGATION).toF("iec60870-client:localhost:%s/00-00-00-00-01", testPort);
+ from(DIRECT_INTERROGATION).toF("iec60870-client:localhost:%s/00-00-00-00-01", testPort.getPort());
// Route for read command
- from(DIRECT_READ).toF("iec60870-client:localhost:%s/00-00-00-00-01", testPort);
+ from(DIRECT_READ).toF("iec60870-client:localhost:%s/00-00-00-00-01", testPort.getPort());
// Route for status command - gets connection state without sending protocol commands
from(DIRECT_STATUS)
.setHeader(Constants.IEC60870_COMMAND_TYPE, constant(Constants.COMMAND_TYPE_STATUS))
- .toF("iec60870-client:localhost:%s/00-00-00-00-01", testPort);
+ .toF("iec60870-client:localhost:%s/00-00-00-00-01", testPort.getPort());
}
};
}
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/JmsRequestReplyTemporaryRefreshFailureOnStartupTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/JmsRequestReplyTemporaryRefreshFailureOnStartupTest.java
index 70c3bd840c7c..0ba19e7e4bbc 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/JmsRequestReplyTemporaryRefreshFailureOnStartupTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/JmsRequestReplyTemporaryRefreshFailureOnStartupTest.java
@@ -38,6 +38,7 @@ import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Tags;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
@@ -45,8 +46,9 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow
@Tags({ @Tag("exclusive") })
public final class JmsRequestReplyTemporaryRefreshFailureOnStartupTest extends CamelTestSupport {
- private static final int PORT = AvailablePortFinder.getNextAvailable();
- public static ArtemisService service = new ArtemisVMService.ReusableArtemisVMService(PORT);
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+ public static ArtemisService service = new ArtemisVMService.ReusableArtemisVMService(PORT.getPort());
private final Long recoveryInterval = 1000L;
@@ -69,7 +71,7 @@ public final class JmsRequestReplyTemporaryRefreshFailureOnStartupTest extends C
}
private static void createBroker() {
- service = new ArtemisVMService.ReusableArtemisVMService(PORT);
+ service = new ArtemisVMService.ReusableArtemisVMService(PORT.getPort());
service.initialize();
}
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRemoteTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRemoteTest.java
index 73586b06423b..8c11cff8b83f 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRemoteTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRemoteTest.java
@@ -51,10 +51,10 @@ public class JMXRemoteTest extends SimpleBeanFixture {
@Override
protected void initServer() throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
- registry = LocateRegistry.createRegistry(port);
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+ registry = LocateRegistry.createRegistry(port.getPort());
- url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + port + "/" + DOMAIN);
+ url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + port.getPort() + "/" + DOMAIN);
// create MBean server
server = MBeanServerFactory.createMBeanServer(DOMAIN);
// create JMXConnectorServer MBean
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRobustRemoteConnectionTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRobustRemoteConnectionTest.java
index 860121a530ee..7d20972c0457 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRobustRemoteConnectionTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRobustRemoteConnectionTest.java
@@ -26,7 +26,6 @@ import javax.management.remote.JMXConnectorServer;
import javax.management.remote.JMXConnectorServerFactory;
import javax.management.remote.JMXServiceURL;
-import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -54,7 +53,6 @@ public class JMXRobustRemoteConnectionTest extends SimpleBeanFixture {
@BeforeEach
@Override
public void setUp() throws Exception {
- port = AvailablePortFinder.getNextAvailable();
url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + port + "/" + DOMAIN);
initContext();
diff --git a/components/camel-jsch/src/test/java/org/apache/camel/component/scp/ScpServerTestSupport.java b/components/camel-jsch/src/test/java/org/apache/camel/component/scp/ScpServerTestSupport.java
index 42f4d1b58c6b..2e534a4e9b79 100644
--- a/components/camel-jsch/src/test/java/org/apache/camel/component/scp/ScpServerTestSupport.java
+++ b/components/camel-jsch/src/test/java/org/apache/camel/component/scp/ScpServerTestSupport.java
@@ -44,8 +44,8 @@ import org.apache.sshd.server.auth.password.PasswordAuthenticator;
import org.apache.sshd.server.auth.pubkey.PublickeyAuthenticator;
import org.apache.sshd.server.session.ServerSession;
import org.apache.sshd.sftp.server.SftpSubsystemFactory;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,7 +56,8 @@ public abstract class ScpServerTestSupport extends CamelTestSupport {
protected static final Logger LOG = LoggerFactory.getLogger(ScpServerTestSupport.class);
protected static final String SCP_ROOT_DIR = "target/test-classes/scp";
protected static final String KNOWN_HOSTS = "known_hosts";
- protected static int port;
+ @RegisterExtension
+ protected static AvailablePortFinder.Port port = AvailablePortFinder.find();
protected Consumer<SshServer> serverConfigurer;
@@ -75,18 +76,13 @@ public abstract class ScpServerTestSupport extends CamelTestSupport {
}
protected int getPort() {
- return port;
+ return port.getPort();
}
protected SshServer getSshd() {
return sshd;
}
- @BeforeAll
- public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
- }
-
@Override
@BeforeEach
public void doPreSetup() throws Exception {
diff --git a/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java b/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java
index ee81bec58900..a83af808f7df 100644
--- a/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java
+++ b/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathPlatformHttpTest.java
@@ -26,6 +26,7 @@ import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -35,12 +36,13 @@ class JsonPathPlatformHttpTest extends CamelTestSupport {
public static final String JSON_PATH = "$.room[?(@.temperature > 20)]";
public static final String RESULT = "HOT";
- private static final int PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
@Test
public void testWithPlatformHttp() {
String result = RestAssured.given()
- .port(PORT)
+ .port(PORT.getPort())
.contentType(ContentType.JSON)
.body(BODY)
.post("/getTemperature")
@@ -63,7 +65,7 @@ class JsonPathPlatformHttpTest extends CamelTestSupport {
CamelContext context = super.createCamelContext();
VertxPlatformHttpServerConfiguration conf = new VertxPlatformHttpServerConfiguration();
- conf.setBindPort(PORT);
+ conf.setBindPort(PORT.getPort());
context.addService(new VertxPlatformHttpServer(conf));
diff --git a/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpServer.java b/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpServer.java
index 66d71b124b72..37ffb6d903f5 100644
--- a/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpServer.java
+++ b/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpServer.java
@@ -56,7 +56,7 @@ public class KnativeHttpServer extends ServiceSupport {
private HttpServer server;
public KnativeHttpServer(CamelContext context) {
- this(context, "localhost", AvailablePortFinder.getNextAvailable(), "/", null);
+ this(context, "localhost", AvailablePortFinder.find().getPort(), "/", null);
}
public KnativeHttpServer(CamelContext context, int port) {
@@ -68,7 +68,7 @@ public class KnativeHttpServer extends ServiceSupport {
}
public KnativeHttpServer(CamelContext context, Handler<RoutingContext> handler) {
- this(context, "localhost", AvailablePortFinder.getNextAvailable(), "/", handler);
+ this(context, "localhost", AvailablePortFinder.find().getPort(), "/", handler);
}
public KnativeHttpServer(CamelContext context, String host, int port, String path) {
@@ -76,11 +76,11 @@ public class KnativeHttpServer extends ServiceSupport {
}
public KnativeHttpServer(CamelContext context, String host, String path) {
- this(context, host, AvailablePortFinder.getNextAvailable(), path, null);
+ this(context, host, AvailablePortFinder.find().getPort(), path, null);
}
public KnativeHttpServer(CamelContext context, String host, String path, Handler<RoutingContext> handler) {
- this(context, host, AvailablePortFinder.getNextAvailable(), path, handler);
+ this(context, host, AvailablePortFinder.find().getPort(), path, handler);
}
public KnativeHttpServer(CamelContext context, String host, int port, String path, Handler<RoutingContext> handler) {
diff --git a/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpTest.java b/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpTest.java
index 103845a526c4..6cdd820881d2 100644
--- a/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpTest.java
+++ b/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpTest.java
@@ -53,6 +53,7 @@ import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
@@ -72,6 +73,8 @@ public class KnativeHttpTest {
private CamelContext context;
private ProducerTemplate template;
+ @RegisterExtension
+ AvailablePortFinder.Port platformHttpPortExt = AvailablePortFinder.find();
private int platformHttpPort;
private String platformHttpHost;
@@ -91,7 +94,7 @@ public class KnativeHttpTest {
this.context = new DefaultCamelContext();
this.template = this.context.createProducerTemplate();
this.platformHttpHost = "localhost";
- this.platformHttpPort = AvailablePortFinder.getNextAvailable();
+ this.platformHttpPort = platformHttpPortExt.getPort();
configurePlatformHttpComponent(context, this.platformHttpPort);
@@ -1356,7 +1359,6 @@ public class KnativeHttpTest {
@ParameterizedTest
@EnumSource(CloudEvents.class)
void testHeaders(CloudEvent ce) throws Exception {
- final int port = AvailablePortFinder.getNextAvailable();
final KnativeHttpServer server = new KnativeHttpServer(context);
configureKnativeComponent(
diff --git a/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpsServer.java b/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpsServer.java
index 6a56aed70db0..5291cc07c0b4 100644
--- a/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpsServer.java
+++ b/components/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpsServer.java
@@ -27,7 +27,7 @@ import org.apache.camel.test.AvailablePortFinder;
public class KnativeHttpsServer extends KnativeHttpServer {
public KnativeHttpsServer(CamelContext context) {
- super(context, "localhost", AvailablePortFinder.getNextAvailable(), "/", null);
+ super(context, "localhost", AvailablePortFinder.find().getPort(), "/", null);
}
public KnativeHttpsServer(CamelContext context, int port) {
@@ -39,7 +39,7 @@ public class KnativeHttpsServer extends KnativeHttpServer {
}
public KnativeHttpsServer(CamelContext context, Handler<RoutingContext> handler) {
- super(context, "localhost", AvailablePortFinder.getNextAvailable(), "/", handler);
+ super(context, "localhost", AvailablePortFinder.find().getPort(), "/", handler);
}
public KnativeHttpsServer(CamelContext context, String host, int port, String path) {
@@ -47,11 +47,11 @@ public class KnativeHttpsServer extends KnativeHttpServer {
}
public KnativeHttpsServer(CamelContext context, String host, String path) {
- super(context, host, AvailablePortFinder.getNextAvailable(), path, null);
+ super(context, host, AvailablePortFinder.find().getPort(), path, null);
}
public KnativeHttpsServer(CamelContext context, String host, String path, Handler<RoutingContext> handler) {
- super(context, host, AvailablePortFinder.getNextAvailable(), path, handler);
+ super(context, host, AvailablePortFinder.find().getPort(), path, handler);
}
@Override
diff --git a/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java b/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
index 7f9c352f31b9..f5030cf5eabe 100644
--- a/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
+++ b/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
@@ -107,7 +107,9 @@ public abstract class AbstractLRATestSupport extends CamelTestSupport {
protected int getServerPort() {
if (serverPort == null) {
- serverPort = AvailablePortFinder.getNextAvailable();
+ try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+ serverPort = p.getPort();
+ }
}
return serverPort;
}
diff --git a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java
index 21a2546cf839..a6d9cd318b05 100644
--- a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java
+++ b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java
@@ -29,20 +29,16 @@ import org.apache.camel.support.jsse.SSLContextParameters;
import org.apache.camel.support.jsse.TrustManagersParameters;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.api.parallel.Isolated;
import static org.junit.jupiter.api.Assertions.assertEquals;
@Isolated
public class LumberjackComponentGlobalSSLTest extends CamelTestSupport {
- private static int port;
-
- @BeforeAll
- public static void beforeClass() {
- port = AvailablePortFinder.getNextAvailable();
- }
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -59,7 +55,7 @@ public class LumberjackComponentGlobalSSLTest extends CamelTestSupport {
public void configure() {
// Lumberjack configured with SSL
- from("lumberjack:0.0.0.0:" + port).to("mock:output");
+ from("lumberjack:0.0.0.0:" + port.getPort()).to("mock:output");
}
};
}
@@ -75,7 +71,8 @@ public class LumberjackComponentGlobalSSLTest extends CamelTestSupport {
List<Integer> windows = Arrays.asList(15, 10, 15, 10, 10);
// When sending messages
- List<Integer> responses = LumberjackUtil.sendMessages(port, createClientSSLContextParameters(context), windows);
+ List<Integer> responses
+ = LumberjackUtil.sendMessages(port.getPort(), createClientSSLContextParameters(context), windows);
// Then we should have the messages we're expecting
mock.assertIsSatisfied();
diff --git a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentSSLTest.java b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentSSLTest.java
index 9fe5d7dd763d..39a982409851 100644
--- a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentSSLTest.java
+++ b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentSSLTest.java
@@ -29,20 +29,16 @@ import org.apache.camel.support.jsse.SSLContextParameters;
import org.apache.camel.support.jsse.TrustManagersParameters;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.api.parallel.Isolated;
import static org.junit.jupiter.api.Assertions.assertEquals;
@Isolated
public class LumberjackComponentSSLTest extends CamelTestSupport {
- private static int port;
-
- @BeforeAll
- public static void beforeClass() {
- port = AvailablePortFinder.getNextAvailable();
- }
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Override
protected RouteBuilder createRouteBuilder() {
@@ -52,7 +48,7 @@ public class LumberjackComponentSSLTest extends CamelTestSupport {
return new RouteBuilder() {
public void configure() {
// Lumberjack configured with SSL
- from("lumberjack:0.0.0.0:" + port + "?sslContextParameters=#ssl").to("mock:output");
+ from("lumberjack:0.0.0.0:" + port.getPort() + "?sslContextParameters=#ssl").to("mock:output");
}
};
}
@@ -66,7 +62,7 @@ public class LumberjackComponentSSLTest extends CamelTestSupport {
List<Integer> windows = Arrays.asList(15, 10, 15, 10, 10);
// When sending messages
- List<Integer> responses = LumberjackUtil.sendMessages(port, createClientSSLContextParameters(), windows);
+ List<Integer> responses = LumberjackUtil.sendMessages(port.getPort(), createClientSSLContextParameters(), windows);
// Then we should have the messages we're expecting
mock.assertIsSatisfied();
diff --git a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentTest.java b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentTest.java
index 45220b93ce99..f80a625d69d2 100644
--- a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentTest.java
+++ b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentTest.java
@@ -24,10 +24,10 @@ import org.apache.camel.builder.RouteBuilder;
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.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.api.parallel.Isolated;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -37,19 +37,15 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
disabledReason = "This test does not run reliably multiple platforms (see CAMEL-21438)")
@Isolated
public class LumberjackComponentTest extends CamelTestSupport {
- private static int port;
-
- @BeforeAll
- public static void beforeClass() {
- port = AvailablePortFinder.getNextAvailable();
- }
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
// Lumberjack configured with a specific port
- from("lumberjack:0.0.0.0:" + port).to("mock:output");
+ from("lumberjack:0.0.0.0:" + port.getPort()).to("mock:output");
}
};
}
@@ -64,7 +60,7 @@ public class LumberjackComponentTest extends CamelTestSupport {
List<Integer> windows = Arrays.asList(15, 10, 15, 10, 10);
// When sending messages
- List<Integer> responses = LumberjackUtil.sendMessages(port, null, windows);
+ List<Integer> responses = LumberjackUtil.sendMessages(port.getPort(), null, windows);
// Then we should have the messages we're expecting
mock.assertIsSatisfied();
diff --git a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackDisconnectionTest.java b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackDisconnectionTest.java
index e8b58b79eb2e..2a4ad96553ef 100644
--- a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackDisconnectionTest.java
+++ b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackDisconnectionTest.java
@@ -27,27 +27,23 @@ import org.apache.camel.builder.RouteBuilder;
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.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.api.parallel.Isolated;
import static org.apache.camel.test.junit6.TestSupport.assertCollectionSize;
@Isolated
public class LumberjackDisconnectionTest extends CamelTestSupport {
- private static int port;
-
- @BeforeAll
- public static void beforeClass() {
- port = AvailablePortFinder.getNextAvailable();
- }
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
// Lumberjack configured with something that throws an exception
- from("lumberjack:0.0.0.0:" + port).process(new ErrorProcessor()).to("mock:output");
+ from("lumberjack:0.0.0.0:" + port.getPort()).process(new ErrorProcessor()).to("mock:output");
}
};
}
@@ -63,7 +59,7 @@ public class LumberjackDisconnectionTest extends CamelTestSupport {
List<Integer> windows = Arrays.asList(15, 10);
// When sending messages
- List<Integer> responses = LumberjackUtil.sendMessages(port, null, windows, false);
+ List<Integer> responses = LumberjackUtil.sendMessages(port.getPort(), null, windows, false);
// Then we should have the messages we're expecting
mock.assertIsSatisfied();
diff --git a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackMultiThreadIT.java b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackMultiThreadIT.java
index 9fccdfd57db4..300ccf46d17a 100644
--- a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackMultiThreadIT.java
+++ b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackMultiThreadIT.java
@@ -33,6 +33,7 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.api.parallel.Isolated;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -44,7 +45,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
@Isolated
public class LumberjackMultiThreadIT extends CamelTestSupport {
- private static final int PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
private static final int CONCURRENCY_LEVEL = Math.min(Runtime.getRuntime().availableProcessors(), 4);
private CountDownLatch latch = new CountDownLatch(CONCURRENCY_LEVEL);
private volatile boolean interrupted;
@@ -57,7 +59,7 @@ public class LumberjackMultiThreadIT extends CamelTestSupport {
return new RouteBuilder() {
public void configure() {
// Lumberjack configured with a specific port
- from("lumberjack:0.0.0.0:" + PORT).to("mock:output");
+ from("lumberjack:0.0.0.0:" + port.getPort()).to("mock:output");
}
};
}
@@ -104,7 +106,7 @@ public class LumberjackMultiThreadIT extends CamelTestSupport {
@Override
public void run() {
try {
- this.responses = LumberjackUtil.sendMessages(PORT, null, Arrays.asList(15, 10));
+ this.responses = LumberjackUtil.sendMessages(port.getPort(), null, Arrays.asList(15, 10));
latch.countDown();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
diff --git a/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java b/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
index 753c3521d994..119df3efc6fb 100644
--- a/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
+++ b/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
@@ -47,7 +47,9 @@ public abstract class AbstractMiloServerTest extends CamelTestSupport {
@Override
protected void doPreSetup() throws Exception {
- this.serverPort = AvailablePortFinder.getNextAvailable();
+ try (AvailablePortFinder.Port port = AvailablePortFinder.find()) {
+ this.serverPort = port.getPort();
+ }
}
public int getServerPort() {
diff --git a/components/camel-milo/src/test/java/org/apache/camel/component/milo/server/ServerLocalTest.java b/components/camel-milo/src/test/java/org/apache/camel/component/milo/server/ServerLocalTest.java
index 3651bc02ec7d..c84603e5ed3c 100644
--- a/components/camel-milo/src/test/java/org/apache/camel/component/milo/server/ServerLocalTest.java
+++ b/components/camel-milo/src/test/java/org/apache/camel/component/milo/server/ServerLocalTest.java
@@ -29,6 +29,7 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,6 +44,9 @@ public class ServerLocalTest extends CamelTestSupport {
private static final Logger LOG = LoggerFactory.getLogger(ConverterTest.class);
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+
@EndpointInject(MOCK_TEST)
protected MockEndpoint testEndpoint;
@@ -53,7 +57,7 @@ public class ServerLocalTest extends CamelTestSupport {
LOG.info(displayName);
LOG.info("********************************************************************************");
final MiloServerComponent component = context().getComponent("milo-server", MiloServerComponent.class);
- component.setPort(AvailablePortFinder.getNextAvailable());
+ component.setPort(port.getPort());
}
@Override
diff --git a/components/camel-mina/src/test/java/org/apache/camel/component/mina/BaseMinaTest.java b/components/camel-mina/src/test/java/org/apache/camel/component/mina/BaseMinaTest.java
index 5434e2fbcad5..8a7244003d10 100644
--- a/components/camel-mina/src/test/java/org/apache/camel/component/mina/BaseMinaTest.java
+++ b/components/camel-mina/src/test/java/org/apache/camel/component/mina/BaseMinaTest.java
@@ -28,25 +28,23 @@ import org.apache.camel.support.jsse.SecureSocketProtocolsParameters;
import org.apache.camel.support.jsse.TrustManagersParameters;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
public abstract class BaseMinaTest extends CamelTestSupport {
protected static final String KEY_STORE_PASSWORD = "changeit";
- private static volatile int port;
-
- @BeforeAll
- public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
- }
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
protected int getNextPort() {
- return AvailablePortFinder.getNextAvailable();
+ try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+ return p.getPort();
+ }
}
protected int getPort() {
- return port;
+ return port.getPort();
}
protected boolean isUseSslContext() {
diff --git a/components/camel-oaipmh/src/test/java/org/apache/camel/oaipmh/utils/MockOaipmhServer.java b/components/camel-oaipmh/src/test/java/org/apache/camel/oaipmh/utils/MockOaipmhServer.java
index cee9b14cd36c..7088043972ca 100644
--- a/components/camel-oaipmh/src/test/java/org/apache/camel/oaipmh/utils/MockOaipmhServer.java
+++ b/components/camel-oaipmh/src/test/java/org/apache/camel/oaipmh/utils/MockOaipmhServer.java
@@ -55,8 +55,13 @@ public final class MockOaipmhServer {
}
public static MockOaipmhServer create() {
- int httpPort = AvailablePortFinder.getNextAvailable();
- int httpsPort = AvailablePortFinder.getNextAvailable();
+ int httpPort;
+ int httpsPort;
+ try (AvailablePortFinder.Port p1 = AvailablePortFinder.find();
+ AvailablePortFinder.Port p2 = AvailablePortFinder.find()) {
+ httpPort = p1.getPort();
+ httpsPort = p2.getPort();
+ }
MockOaipmhServer server = new MockOaipmhServer(httpPort, httpsPort);
return server;
}
diff --git a/components/camel-olingo2/camel-olingo2-component/src/test/java/org/apache/camel/component/olingo2/AbstractOlingo2AppAPITestSupport.java b/components/camel-olingo2/camel-olingo2-component/src/test/java/org/apache/camel/component/olingo2/AbstractOlingo2AppAPITestSupport.java
index 3cea8d5a3883..e55daba32ede 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/test/java/org/apache/camel/component/olingo2/AbstractOlingo2AppAPITestSupport.java
+++ b/components/camel-olingo2/camel-olingo2-component/src/test/java/org/apache/camel/component/olingo2/AbstractOlingo2AppAPITestSupport.java
@@ -34,6 +34,7 @@ import org.apache.http.entity.ContentType;
import org.apache.olingo.odata2.api.ep.entry.ODataEntry;
import org.apache.olingo.odata2.api.ep.feed.ODataDeltaFeed;
import org.apache.olingo.odata2.api.ep.feed.ODataFeed;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,7 +45,8 @@ public class AbstractOlingo2AppAPITestSupport {
protected static final String SERVICE_NAME = "MyFormula.svc";
protected static final Logger LOG = LoggerFactory.getLogger(AbstractOlingo2AppAPITestSupport.class);
- protected static final int PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ protected static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
protected static final long TIMEOUT = 100000;
protected static final String MANUFACTURERS = "Manufacturers";
protected static final String FQN_MANUFACTURERS = "DefaultContainer.Manufacturers";
@@ -65,7 +67,7 @@ public class AbstractOlingo2AppAPITestSupport {
protected static final String TEST_MANUFACTURER_LINKS_CARS = "Manufacturers('1')/$links/Cars";
protected static final String TEST_CAR_LINK_MANUFACTURER = "Cars('1')/$links/Manufacturer";
protected static final String COUNT_OPTION = "/$count";
- protected static final String TEST_SERVICE_URL = "http://localhost:" + PORT + "/" + SERVICE_NAME;
+ protected static final String TEST_SERVICE_URL = "http://localhost:" + PORT.getPort() + "/" + SERVICE_NAME;
protected static final ContentType TEST_FORMAT = ContentType.APPLICATION_JSON;
protected static final String TEST_FORMAT_STRING = TEST_FORMAT.toString();
protected static final String ID_PROPERTY = "Id";
@@ -142,7 +144,7 @@ public class AbstractOlingo2AppAPITestSupport {
}
protected static JettyConfiguration createConfiguration() {
- return createConfiguration(PORT);
+ return createConfiguration(PORT.getPort());
}
protected static JettyConfiguration createConfiguration(int port) {
diff --git a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ReconnectAfterFailureIT.java b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ReconnectAfterFailureIT.java
index 5849361d3035..fae10b1a8fd2 100644
--- a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ReconnectAfterFailureIT.java
+++ b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ReconnectAfterFailureIT.java
@@ -35,6 +35,7 @@ import org.apache.camel.test.infra.mosquitto.services.MosquittoService;
import org.apache.camel.test.infra.mosquitto.services.MosquittoServiceFactory;
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.assertNotEquals;
@@ -43,7 +44,9 @@ import static org.junit.jupiter.api.Assertions.fail;
public class PahoMqtt5ReconnectAfterFailureIT extends CamelTestSupport {
public static final String TESTING_ROUTE_ID = "testingRoute";
- private static int mqttPort = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+
+ static AvailablePortFinder.Port mqttPort = AvailablePortFinder.find();
MosquittoService service;
CountDownLatch routeStartedLatch = new CountDownLatch(1);
@@ -52,11 +55,11 @@ public class PahoMqtt5ReconnectAfterFailureIT extends CamelTestSupport {
MockEndpoint mock;
private static MosquittoService createLocalService() {
- return new MosquittoLocalContainerService(mqttPort);
+ return new MosquittoLocalContainerService(mqttPort.getPort());
}
private static MosquittoService createRemoteService() {
- return new MosquittoRemoteService(mqttPort);
+ return new MosquittoRemoteService(mqttPort.getPort());
}
@Override
@@ -94,8 +97,9 @@ public class PahoMqtt5ReconnectAfterFailureIT extends CamelTestSupport {
@Override
public void configure() {
- from("direct:test").to("paho-mqtt5:queue?lazyStartProducer=true&brokerUrl=tcp://localhost:" + mqttPort);
- from("paho-mqtt5:queue?brokerUrl=tcp://localhost:" + mqttPort)
+ from("direct:test")
+ .to("paho-mqtt5:queue?lazyStartProducer=true&brokerUrl=tcp://localhost:" + mqttPort.getPort());
+ from("paho-mqtt5:queue?brokerUrl=tcp://localhost:" + mqttPort.getPort())
.id(TESTING_ROUTE_ID)
.routePolicy(new RoutePolicySupport() {
@Override
@@ -127,7 +131,7 @@ public class PahoMqtt5ReconnectAfterFailureIT extends CamelTestSupport {
mock.expectedBodiesReceived(msg);
// When
- template.sendBody("paho-mqtt5:queue?lazyStartProducer=true&brokerUrl=tcp://localhost:" + mqttPort, msg);
+ template.sendBody("paho-mqtt5:queue?lazyStartProducer=true&brokerUrl=tcp://localhost:" + mqttPort.getPort(), msg);
// Then
mock.assertIsSatisfied();
diff --git a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoReconnectAfterFailureIT.java b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoReconnectAfterFailureIT.java
index b9058d04c6c7..251952458cb4 100644
--- a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoReconnectAfterFailureIT.java
+++ b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoReconnectAfterFailureIT.java
@@ -58,7 +58,9 @@ public class PahoReconnectAfterFailureIT implements ConfigurableRoute, Configura
ArtemisMQTTService broker;
CountDownLatch routeStartedLatch = new CountDownLatch(1);
- int port = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@EndpointInject("mock:test")
MockEndpoint mock;
@@ -95,8 +97,8 @@ public class PahoReconnectAfterFailureIT implements ConfigurableRoute, Configura
@Override
public void configure() {
- from("direct:test").to("paho:queue?lazyStartProducer=true&brokerUrl=tcp://localhost:" + port);
- from("paho:queue?brokerUrl=tcp://localhost:" + port)
+ from("direct:test").to("paho:queue?lazyStartProducer=true&brokerUrl=tcp://localhost:" + port.getPort());
+ from("paho:queue?brokerUrl=tcp://localhost:" + port.getPort())
.id(TESTING_ROUTE_ID)
.routePolicy(new RoutePolicySupport() {
@Override
@@ -133,7 +135,7 @@ public class PahoReconnectAfterFailureIT implements ConfigurableRoute, Configura
// When
ProducerTemplate template = camelContextExtension.getProducerTemplate();
- template.sendBody("paho:queue?lazyStartProducer=true&brokerUrl=tcp://localhost:" + port, msg);
+ template.sendBody("paho:queue?lazyStartProducer=true&brokerUrl=tcp://localhost:" + port.getPort(), msg);
// Then
mock.assertIsSatisfied();
@@ -161,7 +163,7 @@ public class PahoReconnectAfterFailureIT implements ConfigurableRoute, Configura
}
private void startBroker() {
- broker = new ArtemisMQTTService(port);
+ broker = new ArtemisMQTTService(port.getPort());
broker.initialize();
}
diff --git a/components/camel-pubnub/src/test/java/org/apache/camel/component/pubnub/PubNubTestBase.java b/components/camel-pubnub/src/test/java/org/apache/camel/component/pubnub/PubNubTestBase.java
index 6278f23862d8..1f0158bd4be3 100644
--- a/components/camel-pubnub/src/test/java/org/apache/camel/component/pubnub/PubNubTestBase.java
+++ b/components/camel-pubnub/src/test/java/org/apache/camel/component/pubnub/PubNubTestBase.java
@@ -26,18 +26,20 @@ import com.pubnub.internal.java.PubNubForJavaImpl;
import org.apache.camel.BindToRegistry;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
+import org.junit.jupiter.api.extension.RegisterExtension;
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
import static com.pubnub.api.enums.PNHeartbeatNotificationOptions.NONE;
public class PubNubTestBase extends CamelTestSupport {
- private final int port = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
@BindToRegistry("pubnub")
private PubNub pubnub = createPubNubInstance();
- private WireMockServer wireMockServer = new WireMockServer(options().port(port));
+ private WireMockServer wireMockServer = new WireMockServer(options().port(port.getPort()));
@Override
protected void setupResources() {
@@ -61,7 +63,7 @@ public class PubNubTestBase extends CamelTestSupport {
config = PNConfiguration.builder(new UserId("myUUID"), "mySubscribeKey")
.publishKey("myPublishKey")
.secure(false)
- .origin("localhost" + ":" + port)
+ .origin("localhost" + ":" + port.getPort())
.logVerbosity(PNLogVerbosity.NONE)
.heartbeatNotificationOptions(NONE)
.build();
diff --git a/components/camel-salesforce/camel-salesforce-maven-plugin/src/test/java/org/apache/camel/maven/HttpProxyMojoManualIT.java b/components/camel-salesforce/camel-salesforce-maven-plugin/src/test/java/org/apache/camel/maven/HttpProxyMojoManualIT.java
index 0cdefe1d3ca4..e8ed7636b150 100644
--- a/components/camel-salesforce/camel-salesforce-maven-plugin/src/test/java/org/apache/camel/maven/HttpProxyMojoManualIT.java
+++ b/components/camel-salesforce/camel-salesforce-maven-plugin/src/test/java/org/apache/camel/maven/HttpProxyMojoManualIT.java
@@ -19,7 +19,6 @@ package org.apache.camel.maven;
import java.io.IOException;
import java.util.HashMap;
-import org.apache.camel.test.AvailablePortFinder;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.littleshoot.proxy.HttpProxyServer;
@@ -40,7 +39,6 @@ public class HttpProxyMojoManualIT extends CamelSalesforceMojoManualIT {
@BeforeEach
public void startProxy() {
- httpProxyPort = AvailablePortFinder.getNextAvailable();
proxy = DefaultHttpProxyServer.bootstrap().withPort(httpProxyPort).withProxyAuthenticator(new ProxyAuthenticator() {
@Override
diff --git a/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java b/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
index 60d66d1d4d89..0561e712a405 100644
--- a/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
+++ b/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
@@ -51,7 +51,9 @@ public class ServletCamelRouterTestSupport extends CamelTestSupport {
@Override
public void setupResources() throws Exception {
- port = AvailablePortFinder.getNextAvailable();
+ try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+ port = p.getPort();
+ }
DeploymentInfo servletBuilder = getDeploymentInfo();
manager = Servlets.newContainer().addDeployment(servletBuilder);
manager.deploy();
diff --git a/components/camel-slack/src/test/java/org/apache/camel/component/slack/SlackProducerTest.java b/components/camel-slack/src/test/java/org/apache/camel/component/slack/SlackProducerTest.java
index 6ff6acb03248..8f2b636a35ec 100644
--- a/components/camel-slack/src/test/java/org/apache/camel/component/slack/SlackProducerTest.java
+++ b/components/camel-slack/src/test/java/org/apache/camel/component/slack/SlackProducerTest.java
@@ -28,10 +28,12 @@ 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;
public class SlackProducerTest extends CamelTestSupport {
- protected static final int UNDERTOW_PORT = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port UNDERTOW_PORT = AvailablePortFinder.find();
@EndpointInject("mock:errors")
MockEndpoint errors;
@@ -72,13 +74,14 @@ public class SlackProducerTest extends CamelTestSupport {
@Override
public void configure() {
SlackComponent slack = new SlackComponent();
- slack.setWebhookUrl("http://localhost:" + UNDERTOW_PORT + "/slack/webhook");
+ slack.setWebhookUrl("http://localhost:" + UNDERTOW_PORT.getPort() + "/slack/webhook");
context.addComponent("slack", slack);
onException(Exception.class).handled(true).to(errors);
final String slackUser = System.getProperty("SLACK_USER", "CamelTest");
- from("undertow:http://localhost:" + UNDERTOW_PORT + "/slack/webhook").setBody(constant("{\"ok\": true}"));
+ from("undertow:http://localhost:" + UNDERTOW_PORT.getPort() + "/slack/webhook")
+ .setBody(constant("{\"ok\": true}"));
from(test).to(String.format("slack:#general?iconEmoji=:camel:&username=%s", slackUser));
}
diff --git a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/integration/SmppTRXProducerIT.java b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/integration/SmppTRXProducerIT.java
index 5fc529f51f8c..83458c1ab894 100644
--- a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/integration/SmppTRXProducerIT.java
+++ b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/integration/SmppTRXProducerIT.java
@@ -32,6 +32,7 @@ import org.jsmpp.examples.SMPPServerSimulator;
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.assertNotNull;
@@ -40,9 +41,10 @@ import static org.junit.jupiter.api.Assertions.fail;
class SmppTRXProducerIT extends CamelTestSupport {
- private static int PORT = 8200; // use private port to avoid reusing from previous tests
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
private static final Thread SMPP_SERVER_SIMULATOR = new Thread(() -> {
- System.setProperty("jsmpp.simulator.port", "" + PORT);
+ System.setProperty("jsmpp.simulator.port", "" + PORT.getPort());
SMPPServerSimulator.main(null);
});
@@ -60,7 +62,6 @@ class SmppTRXProducerIT extends CamelTestSupport {
@BeforeAll
public static void runSMPPServerSimulator() {
- PORT = AvailablePortFinder.getNextAvailable(8200, 9999);
SMPP_SERVER_SIMULATOR.start();
}
@@ -100,7 +101,7 @@ class SmppTRXProducerIT extends CamelTestSupport {
@Override
public void configure() {
from("direct:start2")
- .to("smpp://j@localhost:" + PORT + "?password=jpwd&systemType=producer" +
+ .to("smpp://j@localhost:" + PORT.getPort() + "?password=jpwd&systemType=producer" +
"&messageReceiverRouteId=TYPO_IN_MessageReceiverRouteId");
}
});
@@ -122,7 +123,7 @@ class SmppTRXProducerIT extends CamelTestSupport {
@Override
public void configure() {
from("direct:start2")
- .to("smpp://j@localhost:" + PORT + "?password=jpwd&systemType=producer" +
+ .to("smpp://j@localhost:" + PORT.getPort() + "?password=jpwd&systemType=producer" +
"&messageReceiverRouteId=testMessageReceiverRouteId2");
}
});
@@ -141,7 +142,7 @@ class SmppTRXProducerIT extends CamelTestSupport {
@Override
public void configure() {
from("direct:start")
- .to("smpp://j@localhost:" + PORT + "?password=jpwd&systemType=producer" +
+ .to("smpp://j@localhost:" + PORT.getPort() + "?password=jpwd&systemType=producer" +
"&messageReceiverRouteId=testMessageReceiverRouteId");
from("direct:messageReceiver").id("testMessageReceiverRouteId")
diff --git a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/integration/SmppTRXProducerSupervisingRouteControllerIT.java b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/integration/SmppTRXProducerSupervisingRouteControllerIT.java
index 237cce240625..77c2b94a0afd 100644
--- a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/integration/SmppTRXProducerSupervisingRouteControllerIT.java
+++ b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/integration/SmppTRXProducerSupervisingRouteControllerIT.java
@@ -40,6 +40,7 @@ import org.jsmpp.examples.SMPPServerSimulator;
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 org.junit.jupiter.api.parallel.Isolated;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -49,7 +50,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
@Isolated
class SmppTRXProducerSupervisingRouteControllerIT extends CamelTestSupport {
- private static int PORT = 8100; // use private port to avoid reusing from previous tests
+ @RegisterExtension
+ static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
private static final CountDownLatch LATCH = new CountDownLatch(1);
private static final Thread SMPP_SERVER_SIMULATOR = new Thread(() -> {
try {
@@ -58,7 +60,7 @@ class SmppTRXProducerSupervisingRouteControllerIT extends CamelTestSupport {
} catch (Exception e) {
// ignore
}
- System.setProperty("jsmpp.simulator.port", "" + PORT);
+ System.setProperty("jsmpp.simulator.port", "" + PORT.getPort());
SMPPServerSimulator.main(null);
});
@@ -95,7 +97,6 @@ class SmppTRXProducerSupervisingRouteControllerIT extends CamelTestSupport {
@BeforeAll
public static void runSMPPServerSimulator() {
- PORT = AvailablePortFinder.getNextAvailable(8100, 9999);
SMPP_SERVER_SIMULATOR.start();
}
@@ -137,7 +138,7 @@ class SmppTRXProducerSupervisingRouteControllerIT extends CamelTestSupport {
@Override
public void configure() {
from("direct:start")
- .to("smpp://j@localhost:" + PORT + "?password=jpwd&systemType=producer" +
+ .to("smpp://j@localhost:" + PORT.getPort() + "?password=jpwd&systemType=producer" +
"&messageReceiverRouteId=testMessageReceiverRouteId");
from("direct:messageReceiver").id("testMessageReceiverRouteId")
diff --git a/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java b/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java
index 44921d6e5392..723dc468cc36 100644
--- a/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java
+++ b/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java
@@ -28,6 +28,7 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.AvailablePortFinder;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import org.slf4j.Logger;
@@ -44,6 +45,13 @@ import org.snmp4j.smi.VariableBinding;
public class TrapTest extends SnmpTestSupport {
private static final Logger LOG = LoggerFactory.getLogger(TrapTest.class);
+ @RegisterExtension
+ AvailablePortFinder.Port portV0 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port portV1 = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port portV3 = AvailablePortFinder.find();
+
@ParameterizedTest
@MethodSource("supportedVersions")
public void testSendReceiveTraps(int version) throws Exception {
@@ -93,31 +101,27 @@ public class TrapTest extends SnmpTestSupport {
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- //genrate ports for trap consumers/producers
- int portV0 = AvailablePortFinder.getNextAvailable();
- int portV1 = AvailablePortFinder.getNextAvailable();
- int portV3 = AvailablePortFinder.getNextAvailable();
-
from("direct:snmptrapV0")
.log(LoggingLevel.INFO, "Sending Trap pdu ${body}")
- .to("snmp:127.0.0.1:" + portV0 + "?protocol=udp&type=TRAP&snmpVersion=0");
+ .to("snmp:127.0.0.1:" + portV0.getPort() + "?protocol=udp&type=TRAP&snmpVersion=0");
- from("snmp:0.0.0.0:" + portV0 + "?protocol=udp&type=TRAP&snmpVersion=0")
+ from("snmp:0.0.0.0:" + portV0.getPort() + "?protocol=udp&type=TRAP&snmpVersion=0")
.to("mock:resultV0");
from("direct:snmptrapV1")
.log(LoggingLevel.INFO, "Sending Trap pdu ${body}")
- .to("snmp:127.0.0.1:" + portV1 + "?protocol=udp&type=TRAP&snmpVersion=1");
+ .to("snmp:127.0.0.1:" + portV1.getPort() + "?protocol=udp&type=TRAP&snmpVersion=1");
- from("snmp:0.0.0.0:" + portV1 + "?protocol=udp&type=TRAP&snmpVersion=1")
+ from("snmp:0.0.0.0:" + portV1.getPort() + "?protocol=udp&type=TRAP&snmpVersion=1")
.to("mock:resultV1");
from("direct:snmptrapV3")
.log(LoggingLevel.INFO, "Sending Trap pdu ${body}")
- .to("snmp:127.0.0.1:" + portV3
+ .to("snmp:127.0.0.1:" + portV3.getPort()
+ "?securityName=test&securityLevel=1&protocol=udp&type=TRAP&snmpVersion=3");
- from("snmp:0.0.0.0:" + portV3 + "?securityName=test&securityLevel=1&protocol=udp&type=TRAP&snmpVersion=3")
+ from("snmp:0.0.0.0:" + portV3.getPort()
+ + "?securityName=test&securityLevel=1&protocol=udp&type=TRAP&snmpVersion=3")
.to("mock:resultV3");
}
};
diff --git a/components/camel-spring-parent/camel-undertow-spring-security/src/test/java/org/apache/camel/component/spring/security/AbstractSpringSecurityBearerTokenTest.java b/components/camel-spring-parent/camel-undertow-spring-security/src/test/java/org/apache/camel/component/spring/security/AbstractSpringSecurityBearerTokenTest.java
index ce4199c581bb..0355337c4c2d 100644
--- a/components/camel-spring-parent/camel-undertow-spring-security/src/test/java/org/apache/camel/component/spring/security/AbstractSpringSecurityBearerTokenTest.java
+++ b/components/camel-spring-parent/camel-undertow-spring-security/src/test/java/org/apache/camel/component/spring/security/AbstractSpringSecurityBearerTokenTest.java
@@ -32,7 +32,6 @@ import org.apache.camel.CamelContext;
import org.apache.camel.component.spring.security.keycloak.KeycloakRealmRoleConverter;
import org.apache.camel.component.spring.security.keycloak.KeycloakUsernameSubClaimAdapter;
import org.apache.camel.component.undertow.UndertowComponent;
-import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.BeforeAll;
import org.springframework.security.oauth2.jwt.Jwt;
@@ -49,7 +48,6 @@ public abstract class AbstractSpringSecurityBearerTokenTest extends CamelTestSup
@BeforeAll
public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
}
protected static int getPort() {
diff --git a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshAlgorithmParametersTest.java b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshAlgorithmParametersTest.java
index a7beaf27b446..7d985493a6a5 100644
--- a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshAlgorithmParametersTest.java
+++ b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshAlgorithmParametersTest.java
@@ -39,19 +39,25 @@ import org.apache.sshd.common.signature.BuiltinSignatures;
import org.apache.sshd.common.signature.Signature;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class SshAlgorithmParametersTest extends CamelTestSupport {
- private int port = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
- private String sshEndpointURI = "ssh://smx:smx@localhost:" + port + "?timeout=3000" +
- "&ciphers=aes192-ctr" +
- "&macs=hmac-sha1-etm@openssh.com,hmac-sha2-256,hmac-sha1" +
- "&kex=ecdh-sha2-nistp521" +
- "&signatures=rsa-sha2-512,ssh-rsa-cert-v01@openssh.com" +
- "&compressions=zlib,none";
+ private String getSshEndpointURI() {
+ return "ssh://smx:smx@localhost:" + port.getPort() + "?timeout=3000" +
+ "&ciphers=aes192-ctr" +
+ "&macs=hmac-sha1-etm@openssh.com,hmac-sha2-256,hmac-sha1" +
+ "&kex=ecdh-sha2-nistp521" +
+ "&signatures=rsa-sha2-512,ssh-rsa-cert-v01@openssh.com" +
+ "&compressions=zlib,none";
+ }
- private String customClientSshEndpointURI = "ssh://smx:smx@localhost:" + port + "?timeout=3000&clientBuilder=#myClient";
+ private String getCustomClientSshEndpointURI() {
+ return "ssh://smx:smx@localhost:" + port.getPort() + "?timeout=3000&clientBuilder=#myClient";
+ }
@Override
protected void bindToRegistry(Registry registry) throws Exception {
@@ -86,7 +92,7 @@ public class SshAlgorithmParametersTest extends CamelTestSupport {
@Test
public void producerCiphersParameterTest() throws Exception {
context.getComponent("ssh", SshComponent.class);
- SshEndpoint endpoint = context.getEndpoint(sshEndpointURI, SshEndpoint.class);
+ SshEndpoint endpoint = context.getEndpoint(getSshEndpointURI(), SshEndpoint.class);
SshProducer producer = (SshProducer) endpoint.createProducer();
producer.start();
SshClient client = (SshClient) FieldUtils.readField(producer, "client", true);
@@ -96,7 +102,7 @@ public class SshAlgorithmParametersTest extends CamelTestSupport {
@Test
public void consumerCiphersParameterTest() throws Exception {
context.getComponent("ssh", SshComponent.class);
- SshEndpoint endpoint = context.getEndpoint(sshEndpointURI, SshEndpoint.class);
+ SshEndpoint endpoint = context.getEndpoint(getSshEndpointURI(), SshEndpoint.class);
SshConsumer consumer = (SshConsumer) endpoint.createConsumer(x -> {
});
consumer.start();
@@ -107,7 +113,7 @@ public class SshAlgorithmParametersTest extends CamelTestSupport {
@Test
public void consumerCustomClientParameterTest() throws Exception {
context.getComponent("ssh", SshComponent.class);
- SshEndpoint endpoint = context.getEndpoint(customClientSshEndpointURI, SshEndpoint.class);
+ SshEndpoint endpoint = context.getEndpoint(getCustomClientSshEndpointURI(), SshEndpoint.class);
SshConsumer consumer = (SshConsumer) endpoint.createConsumer(x -> {
});
consumer.start();
@@ -118,7 +124,7 @@ public class SshAlgorithmParametersTest extends CamelTestSupport {
@Test
public void producerCustomClientParameterTest() throws Exception {
context.getComponent("ssh", SshComponent.class);
- SshEndpoint endpoint = context.getEndpoint(customClientSshEndpointURI, SshEndpoint.class);
+ SshEndpoint endpoint = context.getEndpoint(getCustomClientSshEndpointURI(), SshEndpoint.class);
SshProducer producer = (SshProducer) endpoint.createProducer();
producer.start();
SshClient client = (SshClient) FieldUtils.readField(producer, "client", true);
diff --git a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
index 29e0e604efd6..8eaaeeee6123 100644
--- a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
+++ b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
@@ -30,7 +30,9 @@ public class SshComponentTestSupport extends CamelTestSupport {
@Override
public void doPreSetup() throws Exception {
- port = AvailablePortFinder.getNextAvailable();
+ try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+ port = p.getPort();
+ }
sshd = SshServer.setUpDefaultServer();
sshd.setPort(port);
diff --git a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshIdleTimeoutTest.java b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshIdleTimeoutTest.java
index 2ac79edd7b08..54eb355a4b44 100644
--- a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshIdleTimeoutTest.java
+++ b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshIdleTimeoutTest.java
@@ -32,10 +32,12 @@ import org.apache.sshd.server.SshServer;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class SshIdleTimeoutTest extends SshComponentTestSupport {
- private int delayedPort = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ AvailablePortFinder.Port delayedPort = AvailablePortFinder.find();
private SshServer delayedSshd;
@AfterEach
@@ -102,7 +104,7 @@ public class SshIdleTimeoutTest extends SshComponentTestSupport {
private void startDelayedServer() throws Exception {
delayedSshd = SshServer.setUpDefaultServer();
- delayedSshd.setPort(delayedPort);
+ delayedSshd.setPort(delayedPort.getPort());
delayedSshd.setKeyPairProvider(new FileKeyPairProvider(Paths.get("src/test/resources/hostkey.pem")));
delayedSshd.setCommandFactory(new DelayedEchoCommandFactory(1000));
delayedSshd.setPasswordAuthenticator((username, password, session) -> true);
@@ -150,9 +152,9 @@ public class SshIdleTimeoutTest extends SshComponentTestSupport {
.to("mock:result");
from("direct:sshWithShortIdleTimeout")
- .to("ssh://smx:smx@localhost:" + delayedPort + "?timeout=5000&idleTimeout=500");
+ .to("ssh://smx:smx@localhost:" + delayedPort.getPort() + "?timeout=5000&idleTimeout=500");
from("direct:sshWithLongIdleTimeout")
- .to("ssh://smx:smx@localhost:" + delayedPort + "?timeout=5000&idleTimeout=5000");
+ .to("ssh://smx:smx@localhost:" + delayedPort.getPort() + "?timeout=5000&idleTimeout=5000");
}
};
}
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompBaseTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompBaseTest.java
index 9cf7cadd4708..9bfdbc2b5990 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompBaseTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompBaseTest.java
@@ -35,8 +35,10 @@ import org.junit.jupiter.api.extension.RegisterExtension;
public abstract class StompBaseTest extends CamelTestSupport {
protected int numberOfMessages = 100;
- static int sslServicePort = AvailablePortFinder.getNextAvailable();
- static int servicePort = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port sslServicePort = AvailablePortFinder.find();
+ @RegisterExtension
+ static AvailablePortFinder.Port servicePort = AvailablePortFinder.find();
@RegisterExtension
public static ArtemisService service = new ArtemisEmbeddedServiceBuilder()
@@ -50,11 +52,11 @@ public abstract class StompBaseTest extends CamelTestSupport {
"keyStorePath=jsse/server-side-keystore.jks;" +
"keyStorePassword=password;" +
"protocols=STOMP",
- sslServicePort));
+ sslServicePort.getPort()));
configuration.addAcceptorConfiguration("stomp-tcp-acceptor",
String.format("tcp://0.0.0.0:%s?protocols=STOMP",
- servicePort));
+ servicePort.getPort()));
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -84,10 +86,10 @@ public abstract class StompBaseTest extends CamelTestSupport {
Stomp stomp;
if (isUseSsl()) {
- stomp = new Stomp("ssl://localhost:" + sslServicePort);
+ stomp = new Stomp("ssl://localhost:" + sslServicePort.getPort());
stomp.setSslContext(getClientSSLContext());
} else {
- stomp = new Stomp("tcp://localhost:" + servicePort);
+ stomp = new Stomp("tcp://localhost:" + servicePort.getPort());
}
return stomp;
diff --git a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookBasePathTest.java b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookBasePathTest.java
index 41012916c73b..ee525c725ca6 100644
--- a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookBasePathTest.java
+++ b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookBasePathTest.java
@@ -87,7 +87,7 @@ public class WebhookBasePathTest extends WebhookTestBase {
restConfiguration()
.host("0.0.0.0")
- .port(port);
+ .port(port.getPort());
from("webhook:wb-delegate://xx?webhookPath=uri0")
.transform(body().prepend("msg: "));
diff --git a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookHttpBindingTest.java b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookHttpBindingTest.java
index 6ec21661f0df..e5c34c837f39 100644
--- a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookHttpBindingTest.java
+++ b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookHttpBindingTest.java
@@ -70,7 +70,7 @@ public class WebhookHttpBindingTest extends WebhookTestBase {
restConfiguration()
.host("0.0.0.0")
- .port(port);
+ .port(port.getPort());
from("webhook:wb-delegate://xx")
.transform(body().prepend("msg: "));
diff --git a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookMultiRouteTest.java b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookMultiRouteTest.java
index 13165caaaee1..9db0e699d217 100644
--- a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookMultiRouteTest.java
+++ b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookMultiRouteTest.java
@@ -57,7 +57,7 @@ public class WebhookMultiRouteTest extends WebhookTestBase {
restConfiguration()
.host("0.0.0.0")
- .port(port);
+ .port(port.getPort());
from("webhook:wb-delegate://yy")
.transform(body().prepend("uri: "));
diff --git a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookPathTest.java b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookPathTest.java
index 7d7e7f59837c..f8a249a46ea0 100644
--- a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookPathTest.java
+++ b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookPathTest.java
@@ -73,7 +73,7 @@ public class WebhookPathTest extends WebhookTestBase {
restConfiguration()
.host("0.0.0.0")
- .port(port);
+ .port(port.getPort());
from("webhook:wb-delegate://xx")
.transform(body().prepend("msg: "));
diff --git a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookRegistrationTest.java b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookRegistrationTest.java
index 97309ce187b4..ded586efbaf0 100644
--- a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookRegistrationTest.java
+++ b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookRegistrationTest.java
@@ -47,7 +47,7 @@ public class WebhookRegistrationTest extends WebhookTestBase {
public void configure() {
restConfiguration()
.host("0.0.0.0")
- .port(port);
+ .port(port.getPort());
from("webhook:wb-delegate://xx")
.transform(body().prepend("msg: "));
diff --git a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookTestBase.java b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookTestBase.java
index f33fd4e26195..c5cc1ae561fb 100644
--- a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookTestBase.java
+++ b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookTestBase.java
@@ -18,15 +18,11 @@ package org.apache.camel.component.webhook;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class WebhookTestBase extends CamelTestSupport {
- protected static int port;
-
- @BeforeAll
- public static void initPort() {
- port = AvailablePortFinder.getNextAvailable();
- }
+ @RegisterExtension
+ static AvailablePortFinder.Port port = AvailablePortFinder.find();
}
diff --git a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookUriEncodingTest.java b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookUriEncodingTest.java
index 247f40136e2c..a1e60936d8e4 100644
--- a/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookUriEncodingTest.java
+++ b/components/camel-webhook/src/test/java/org/apache/camel/component/webhook/WebhookUriEncodingTest.java
@@ -59,7 +59,7 @@ public class WebhookUriEncodingTest extends WebhookTestBase {
restConfiguration()
.host("0.0.0.0")
- .port(port);
+ .port(port.getPort());
from("webhook:wb-delegate://xx?webhookBasePath=/base&webhookPath=/uri&foo=hello} world&bar=RAW(hello} world)")
.transform(body().prepend("msg: "));
diff --git a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
index c7d03aac6a23..073f7f74e0f1 100644
--- a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
+++ b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
@@ -24,7 +24,6 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.webhook.WebhookConfiguration;
import org.apache.camel.component.webhook.WebhookEndpoint;
-import org.apache.camel.test.AvailablePortFinder;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -87,7 +86,6 @@ public class WhatsAppWebhookTest extends WhatsAppTestSupport {
@Override
protected void doPreSetup() {
- port = AvailablePortFinder.getNextAvailable();
}
protected WhatsAppApiConfig getWhatsAppApiConfig() {
diff --git a/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/EndpointQueryParamTest.java b/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/EndpointQueryParamTest.java
index e19a182e123d..e6b3dd72e1c7 100644
--- a/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/EndpointQueryParamTest.java
+++ b/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/EndpointQueryParamTest.java
@@ -27,14 +27,14 @@ class EndpointQueryParamTest extends BaseEndpointDslTest {
return new EndpointRouteBuilder() {
@Override
public void configure() {
- int port = AvailablePortFinder.getNextAvailable();
- restConfiguration().component("jetty").host("localhost").port(port);
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
+ restConfiguration().component("jetty").host("localhost").port(port.getPort());
rest().get("path/xyz")
.to("mock:result");
from(direct("test"))
- .to(http(String.format("localhost:%d/path/xyz?param1=1¶m2=2", port)).httpMethod("GET"));
+ .to(http(String.format("localhost:%d/path/xyz?param1=1¶m2=2", port.getPort())).httpMethod("GET"));
from(direct("test2"))
- .toF("http://localhost:%d/path/xyz?param1=1¶m2=2&httpMethod=GET", port);
+ .toF("http://localhost:%d/path/xyz?param1=1¶m2=2&httpMethod=GET", port.getPort());
}
};
}
diff --git a/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/RestDslTest.java b/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/RestDslTest.java
index 72d8f8293a1a..5656902dca9f 100644
--- a/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/RestDslTest.java
+++ b/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/RestDslTest.java
@@ -26,9 +26,9 @@ public class RestDslTest extends BaseEndpointDslTest {
@Override
protected CamelContext createCamelContext() throws Exception {
- int port = AvailablePortFinder.getNextAvailable();
+ AvailablePortFinder.Port port = AvailablePortFinder.find();
VertxPlatformHttpServerConfiguration conf = new VertxPlatformHttpServerConfiguration();
- conf.setBindPort(port);
+ conf.setBindPort(port.getPort());
CamelContext context = super.createCamelContext();
context.addService(new VertxPlatformHttpServer(conf));
diff --git a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandOnMqttITCase.java b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandOnMqttITCase.java
index 26d0107f8529..c3e46d8f7ec5 100644
--- a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandOnMqttITCase.java
+++ b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandOnMqttITCase.java
@@ -26,17 +26,19 @@ import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.testcontainers.containers.GenericContainer;
@Tag("container-only")
public class RunCommandOnMqttITCase extends JBangTestSupport {
- private static int mqttPort = AvailablePortFinder.getNextAvailable();
+ @RegisterExtension
+ static AvailablePortFinder.Port mqttPort = AvailablePortFinder.find();
private static MosquittoLocalContainerService service;
@BeforeAll
public static void init() {
- service = new MosquittoLocalContainerService(mqttPort);
+ service = new MosquittoLocalContainerService(mqttPort.getPort());
service.initialize();
}
(camel) 03/07: CAMEL-23214: Fix port migration in misc tests
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch CAMEL-23214-port-misc
in repository https://gitbox.apache.org/repos/asf/camel.git
commit cf3b4adb0957d612bc8daad4e795d3643975faee
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 20 06:32:01 2026 +0100
CAMEL-23214: Fix port migration in misc tests
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../spring/security/AbstractSpringSecurityBearerTokenTest.java | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/components/camel-spring-parent/camel-undertow-spring-security/src/test/java/org/apache/camel/component/spring/security/AbstractSpringSecurityBearerTokenTest.java b/components/camel-spring-parent/camel-undertow-spring-security/src/test/java/org/apache/camel/component/spring/security/AbstractSpringSecurityBearerTokenTest.java
index 0355337c4c2d..17beb538022d 100644
--- a/components/camel-spring-parent/camel-undertow-spring-security/src/test/java/org/apache/camel/component/spring/security/AbstractSpringSecurityBearerTokenTest.java
+++ b/components/camel-spring-parent/camel-undertow-spring-security/src/test/java/org/apache/camel/component/spring/security/AbstractSpringSecurityBearerTokenTest.java
@@ -32,13 +32,16 @@ import org.apache.camel.CamelContext;
import org.apache.camel.component.spring.security.keycloak.KeycloakRealmRoleConverter;
import org.apache.camel.component.spring.security.keycloak.KeycloakUsernameSubClaimAdapter;
import org.apache.camel.component.undertow.UndertowComponent;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.springframework.security.oauth2.jwt.Jwt;
public abstract class AbstractSpringSecurityBearerTokenTest extends CamelTestSupport {
- private static volatile int port;
+ @RegisterExtension
+ static AvailablePortFinder.Port port = AvailablePortFinder.find();
private final MockFilter mockFilter = new MockFilter();
@@ -51,7 +54,7 @@ public abstract class AbstractSpringSecurityBearerTokenTest extends CamelTestSup
}
protected static int getPort() {
- return port;
+ return port.getPort();
}
@Override
(camel) 06/07: CAMEL-23214: Fix try-with-resources anti-pattern in port migration
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch CAMEL-23214-port-misc
in repository https://gitbox.apache.org/repos/asf/camel.git
commit bc342c5130dcdfefc9217c9e7e354cbf9ed4f2c3
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 20 07:50:16 2026 +0100
CAMEL-23214: Fix try-with-resources anti-pattern in port migration
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../camel/component/avro/AvroTestSupport.java | 23 +++++++++++++---------
.../camel/service/lra/AbstractLRATestSupport.java | 10 +++-------
.../component/milo/AbstractMiloServerTest.java | 17 ++++++----------
.../servlet/ServletCamelRouterTestSupport.java | 7 ++++---
.../component/ssh/SshComponentTestSupport.java | 7 ++++---
.../component/whatsapp/WhatsAppWebhookTest.java | 4 ----
6 files changed, 31 insertions(+), 37 deletions(-)
diff --git a/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java b/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
index 69f80301ad12..a4fb2b7263ea 100644
--- a/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
+++ b/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
@@ -19,18 +19,23 @@ package org.apache.camel.component.avro;
import org.apache.camel.CamelContext;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class AvroTestSupport extends CamelTestSupport {
- protected int port = 9100;
- protected int avroPort = setupFreePort("avroport");
- protected int avroPortReflection = setupFreePort("avroPortReflection");
+ @RegisterExtension
+ AvailablePortFinder.Port avroPortHolder = AvailablePortFinder.find();
+ @RegisterExtension
+ AvailablePortFinder.Port avroPortReflectionHolder = AvailablePortFinder.find();
- public int setupFreePort(String name) {
- try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
- port = p.getPort();
- }
- System.setProperty(name, String.valueOf(port));
- return port;
+ protected int avroPort;
+ protected int avroPortReflection;
+
+ @Override
+ protected void doPreSetup() throws Exception {
+ avroPort = avroPortHolder.getPort();
+ avroPortReflection = avroPortReflectionHolder.getPort();
+ System.setProperty("avroport", String.valueOf(avroPort));
+ System.setProperty("avroPortReflection", String.valueOf(avroPortReflection));
}
@Override
diff --git a/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java b/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
index f5030cf5eabe..fa7604767b88 100644
--- a/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
+++ b/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
@@ -47,7 +47,8 @@ public abstract class AbstractLRATestSupport extends CamelTestSupport {
@RegisterExtension
static MicroprofileLRAService service = MicroprofileLRAServiceFactory.createService();
- private Integer serverPort;
+ @RegisterExtension
+ AvailablePortFinder.Port serverPortHolder = AvailablePortFinder.find();
private int activeLRAs;
@@ -106,11 +107,6 @@ public abstract class AbstractLRATestSupport extends CamelTestSupport {
}
protected int getServerPort() {
- if (serverPort == null) {
- try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
- serverPort = p.getPort();
- }
- }
- return serverPort;
+ return serverPortHolder.getPort();
}
}
diff --git a/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java b/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
index 119df3efc6fb..e9d13236b2cb 100644
--- a/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
+++ b/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
@@ -30,6 +30,7 @@ import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.eclipse.milo.opcua.stack.core.security.SecurityPolicy;
import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.opentest4j.AssertionFailedError;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,17 +44,11 @@ public abstract class AbstractMiloServerTest extends CamelTestSupport {
private static final Logger LOG = LoggerFactory.getLogger(AbstractMiloServerTest.class);
- private int serverPort;
-
- @Override
- protected void doPreSetup() throws Exception {
- try (AvailablePortFinder.Port port = AvailablePortFinder.find()) {
- this.serverPort = port.getPort();
- }
- }
+ @RegisterExtension
+ AvailablePortFinder.Port serverPortHolder = AvailablePortFinder.find();
public int getServerPort() {
- return this.serverPort;
+ return serverPortHolder.getPort();
}
protected boolean isAddServer() {
@@ -71,7 +66,7 @@ public abstract class AbstractMiloServerTest extends CamelTestSupport {
return uri;
}
- return uri.replace("@@port@@", Integer.toString(this.serverPort));
+ return uri.replace("@@port@@", Integer.toString(getServerPort()));
}
public static void testBody(final AssertionClause clause, final Consumer<DataValue> valueConsumer) {
@@ -113,7 +108,7 @@ public abstract class AbstractMiloServerTest extends CamelTestSupport {
protected void configureMiloServer(final MiloServerComponent server) throws Exception {
server.setBindAddresses("localhost");
- server.setPort(this.serverPort);
+ server.setPort(getServerPort());
server.setUserAuthenticationCredentials("foo:bar,foo2:bar2");
server.setUsernameSecurityPolicyUri(SecurityPolicy.None);
server.setSecurityPoliciesById("None");
diff --git a/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java b/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
index 0561e712a405..865dd1c1fc60 100644
--- a/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
+++ b/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
@@ -40,20 +40,21 @@ import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ObjectHelper;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class ServletCamelRouterTestSupport extends CamelTestSupport {
public static final String CONTEXT = "/mycontext";
protected String contextUrl;
+ @RegisterExtension
+ AvailablePortFinder.Port portHolder = AvailablePortFinder.find();
protected int port;
protected DeploymentManager manager;
protected Undertow server;
@Override
public void setupResources() throws Exception {
- try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
- port = p.getPort();
- }
+ port = portHolder.getPort();
DeploymentInfo servletBuilder = getDeploymentInfo();
manager = Servlets.newContainer().addDeployment(servletBuilder);
manager.deploy();
diff --git a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
index 8eaaeeee6123..5072f0766d93 100644
--- a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
+++ b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
@@ -23,16 +23,17 @@ import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
import org.apache.sshd.server.SshServer;
+import org.junit.jupiter.api.extension.RegisterExtension;
public class SshComponentTestSupport extends CamelTestSupport {
+ @RegisterExtension
+ AvailablePortFinder.Port portHolder = AvailablePortFinder.find();
protected SshServer sshd;
protected int port;
@Override
public void doPreSetup() throws Exception {
- try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
- port = p.getPort();
- }
+ port = portHolder.getPort();
sshd = SshServer.setUpDefaultServer();
sshd.setPort(port);
diff --git a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
index a07693a639fc..7b34a56d8b36 100644
--- a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
+++ b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
@@ -87,10 +87,6 @@ public class WhatsAppWebhookTest extends WhatsAppTestSupport {
Assertions.assertThat(mock.getExchanges().get(0).getIn().getBody(String.class)).contains("\"type\": \"text\"");
}
- @Override
- protected void doPreSetup() {
- }
-
protected WhatsAppApiConfig getWhatsAppApiConfig() {
return WhatsAppApiConfig.mock(port.getPort());
}
(camel) 02/07: CAMEL-23214: Remove unrelated changes from port migration PR
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch CAMEL-23214-port-misc
in repository https://gitbox.apache.org/repos/asf/camel.git
commit a28a6dbd176785668661b7cfdf3c32dec3946faf
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 20 05:33:13 2026 +0100
CAMEL-23214: Remove unrelated changes from port migration PR
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../docling/DoclingTempFileCleanupTest.java | 31 +++++++++++++---------
.../openai/integration/OpenAIEmbeddingsIT.java | 11 ++++++++
.../integration/CouchbaseIntegrationTestBase.java | 4 ++-
3 files changed, 32 insertions(+), 14 deletions(-)
diff --git a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/DoclingTempFileCleanupTest.java b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/DoclingTempFileCleanupTest.java
index 69c0178e19ff..bf116ce7d74a 100644
--- a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/DoclingTempFileCleanupTest.java
+++ b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/DoclingTempFileCleanupTest.java
@@ -35,15 +35,15 @@ import static org.junit.jupiter.api.Assertions.*;
* processing completes.
*
* <p>
- * Before the fix, temp files created for String content and byte[] bodies accumulated on disk indefinitely. After the
- * fix, an {@code addOnCompletion} callback deletes them when the exchange finishes.
+ * Temp files are created inside per-exchange subdirectories under the system temp dir. The entire subdirectory is
+ * removed when the exchange finishes.
*/
class DoclingTempFileCleanupTest extends CamelTestSupport {
@Test
void tempFileFromStringContentIsCleanedUp() throws Exception {
- // Snapshot temp files before
- List<Path> before = listDoclingTempFiles();
+ // Snapshot docling temp directories before
+ List<Path> before = listDoclingTempDirs();
// Send string content (not a path, not a URL) — this triggers temp file creation.
// The docling CLI will fail (not installed), but the temp file cleanup
@@ -54,18 +54,18 @@ class DoclingTempFileCleanupTest extends CamelTestSupport {
// Expected — docling binary not available in test env
}
- // After exchange completes, temp files should have been cleaned up
- List<Path> after = listDoclingTempFiles();
+ // After exchange completes, temp directories should have been cleaned up
+ List<Path> after = listDoclingTempDirs();
List<Path> leaked = new ArrayList<>(after);
leaked.removeAll(before);
assertTrue(leaked.isEmpty(),
- "Temp files leaked after exchange completion: " + leaked);
+ "Temp directories leaked after exchange completion: " + leaked);
}
@Test
void tempFileFromByteArrayIsCleanedUp() throws Exception {
- List<Path> before = listDoclingTempFiles();
+ List<Path> before = listDoclingTempDirs();
try {
template.requestBody("direct:convert", "Binary content for conversion".getBytes());
@@ -73,20 +73,25 @@ class DoclingTempFileCleanupTest extends CamelTestSupport {
// Expected — docling binary not available in test env
}
- List<Path> after = listDoclingTempFiles();
+ List<Path> after = listDoclingTempDirs();
List<Path> leaked = new ArrayList<>(after);
leaked.removeAll(before);
assertTrue(leaked.isEmpty(),
- "Temp files leaked after exchange completion: " + leaked);
+ "Temp directories leaked after exchange completion: " + leaked);
}
- private List<Path> listDoclingTempFiles() throws IOException {
+ /**
+ * Lists docling temp directories (docling-UUID-*) in the system temp dir.
+ */
+ private List<Path> listDoclingTempDirs() throws IOException {
List<Path> result = new ArrayList<>();
Path tmpDir = Path.of(System.getProperty("java.io.tmpdir"));
- try (DirectoryStream<Path> stream = Files.newDirectoryStream(tmpDir, "docling-*.tmp")) {
+ try (DirectoryStream<Path> stream = Files.newDirectoryStream(tmpDir, "docling-*")) {
for (Path entry : stream) {
- result.add(entry);
+ if (Files.isDirectory(entry)) {
+ result.add(entry);
+ }
}
}
return result;
diff --git a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
index 45cf8ec8a28b..f67e04874639 100644
--- a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
+++ b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
@@ -55,6 +55,10 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
if (apiKey == null || apiKey.isEmpty()) {
apiKey = "dummy";
}
+ if (ObjectHelper.isEmpty(embeddingModel)) {
+ throw new IllegalStateException(
+ "Embedding model not available. Set the ollama.embedding.model system property or use a container with embedding support.");
+ }
}
@Override
@@ -101,6 +105,7 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
Exchange result = template.request("direct:embedding",
e -> e.getIn().setBody("Apache Camel is an integration framework"));
+ assertThat(result.getException()).as("Exchange should not have an exception").isNull();
mockResponse.assertIsSatisfied();
assertThat(result).isNotNull();
@@ -128,6 +133,7 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
Exchange result = template.request("direct:embeddingWithEncodingFormatFloat",
e -> e.getIn().setBody("Apache Camel is an integration framework"));
+ assertThat(result.getException()).as("Exchange should not have an exception").isNull();
mockResponse.assertIsSatisfied();
assertThat(result).isNotNull();
@@ -157,6 +163,7 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
Exchange result = template.request("direct:embedding",
e -> e.getIn().setBody(inputs));
+ assertThat(result.getException()).as("Exchange should not have an exception").isNull();
mockResponse.assertIsSatisfied();
assertThat(result).isNotNull();
@@ -182,6 +189,8 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
Exchange result1 = template.request("direct:embedding",
e -> e.getIn().setBody("Apache Camel is an integration framework"));
+ assertThat(result1.getException()).as("Exchange should not have an exception").isNull();
+
@SuppressWarnings("unchecked")
List<Float> embedding1 = (List<Float>) result1.getMessage().getBody();
assertThat(embedding1).isNotEmpty();
@@ -192,6 +201,8 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
e.getIn().setHeader(OpenAIConstants.REFERENCE_EMBEDDING, embedding1);
});
+ assertThat(result2.getException()).as("Exchange should not have an exception").isNull();
+
@SuppressWarnings("unchecked")
List<Float> embedding2 = (List<Float>) result2.getMessage().getBody();
assertThat(embedding2).isNotEmpty();
diff --git a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/CouchbaseIntegrationTestBase.java b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/CouchbaseIntegrationTestBase.java
index ac1240e5df6e..d95cea520078 100644
--- a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/CouchbaseIntegrationTestBase.java
+++ b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/integration/CouchbaseIntegrationTestBase.java
@@ -23,6 +23,7 @@ import java.util.Collections;
import com.couchbase.client.java.Cluster;
import com.couchbase.client.java.manager.bucket.BucketSettings;
import com.couchbase.client.java.manager.bucket.BucketType;
+import com.couchbase.client.java.manager.bucket.StorageBackend;
import com.couchbase.client.java.manager.view.DesignDocument;
import com.couchbase.client.java.manager.view.View;
import com.couchbase.client.java.view.DesignDocumentNamespace;
@@ -48,7 +49,8 @@ public class CouchbaseIntegrationTestBase extends CamelTestSupport {
cluster = Cluster.connect(service.getConnectionString(), service.getUsername(), service.getPassword());
cluster.buckets().createBucket(
- BucketSettings.create(bucketName).bucketType(BucketType.COUCHBASE).flushEnabled(true));
+ BucketSettings.create(bucketName).bucketType(BucketType.COUCHBASE)
+ .storageBackend(StorageBackend.COUCHSTORE).flushEnabled(true));
cluster.bucket(bucketName);
DesignDocument designDoc = new DesignDocument(