This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.22.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.22.x by this push:
new 1c9f38f65a7a chore: fix NATS JetStream IT tests sharing a
stream/durable name
1c9f38f65a7a is described below
commit 1c9f38f65a7a32ec0af14100c34899f1cf6baa13
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Aug 24 20:06:31 2026 +0200
chore: fix NATS JetStream IT tests sharing a stream/durable name
Backport of #25630 to camel-4.22.x. NatsJetstreamConsumerAckPolicyNoneIT,
NatsJetstreamConsumerMaxDeliverIT, and NatsJetstreamConsumerRedeliveryIT
used
identical JetStream stream, subject, and durable consumer names. Since
NatsITSupport doesn't tear down streams/consumers between IT classes, and
NatsConsumer.setupJetStreamConsumer() never reconciles an existing durable
consumer's config with a new subscribe request, whichever test ran first
bound its config to the shared durable consumer server-side, causing
subsequent tests to silently receive zero messages from a stale, mismatched
consumer.
Gives each test its own unique stream/subject/durable name, matching the
convention already used by the other JetStream IT tests in this package.
Test-only change, no production code touched.
Closes #25632
---
.../nats/jetstream/NatsJetstreamConsumerAckPolicyNoneIT.java | 6 +++---
.../component/nats/jetstream/NatsJetstreamConsumerMaxDeliverIT.java | 4 ++--
.../component/nats/jetstream/NatsJetstreamConsumerRedeliveryIT.java | 6 +++---
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git
a/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerAckPolicyNoneIT.java
b/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerAckPolicyNoneIT.java
index 11a408588ead..a265f88d7931 100644
---
a/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerAckPolicyNoneIT.java
+++
b/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerAckPolicyNoneIT.java
@@ -40,12 +40,12 @@ public class NatsJetstreamConsumerAckPolicyNoneIT extends
NatsITSupport {
@Test
public void testConsumer() throws Exception {
mockResultEndpoint.expectedBodiesReceived("Hello World 3");
- mockResultEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2");
+ mockResultEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2-ackpolicynone");
mockResultEndpoint.expectedHeaderReceived("counter", 3);
mockResultEndpoint.expectedHeaderReceived(NatsConstants.NATS_DELIVERY_COUNTER,
1);
mockInputEndpoint.expectedBodiesReceived("Hello World 1", "Hello World
2", "Hello World 3");
- mockInputEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2");
+ mockInputEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2-ackpolicynone");
mockInputEndpoint.message(0).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(1);
mockInputEndpoint.message(1).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(1);
mockInputEndpoint.message(2).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(1);
@@ -65,7 +65,7 @@ public class NatsJetstreamConsumerAckPolicyNoneIT extends
NatsITSupport {
@Override
public void configure() {
String uri
- =
"nats:mytopic2?jetstreamEnabled=true&jetstreamName=mystream2&jetstreamAsync=false&durableName=camel2&pullSubscription=false&ackPolicy=none";
+ =
"nats:mytopic2-ackpolicynone?jetstreamEnabled=true&jetstreamName=mystream2-ackpolicynone&jetstreamAsync=false&durableName=camel2-ackpolicynone&pullSubscription=false&ackPolicy=none";
from("direct:send")
// when running full test suite then send can fail due
to nats server setup/teardown
diff --git
a/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerMaxDeliverIT.java
b/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerMaxDeliverIT.java
index 53470c80b6fa..cc78a43432a2 100644
---
a/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerMaxDeliverIT.java
+++
b/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerMaxDeliverIT.java
@@ -42,7 +42,7 @@ public class NatsJetstreamConsumerMaxDeliverIT extends
NatsITSupport {
mockResultEndpoint.expectedMessageCount(0);
mockInputEndpoint.expectedMessageCount(3);
- mockInputEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2");
+ mockInputEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2-maxdeliver");
mockInputEndpoint.message(0).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(1);
mockInputEndpoint.message(1).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(2);
mockInputEndpoint.message(2).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(3);
@@ -60,7 +60,7 @@ public class NatsJetstreamConsumerMaxDeliverIT extends
NatsITSupport {
@Override
public void configure() {
String uri
- =
"nats:mytopic2?jetstreamEnabled=true&jetstreamName=mystream2&jetstreamAsync=false&durableName=camel2&pullSubscription=false&nackWait=10&maxDeliver=3";
+ =
"nats:mytopic2-maxdeliver?jetstreamEnabled=true&jetstreamName=mystream2-maxdeliver&jetstreamAsync=false&durableName=camel2-maxdeliver&pullSubscription=false&nackWait=10&maxDeliver=3";
from("direct:send")
// when running full test suite then send can fail due
to nats server setup/teardown
diff --git
a/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerRedeliveryIT.java
b/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerRedeliveryIT.java
index 3690e35f8ed8..cbcbf5371500 100644
---
a/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerRedeliveryIT.java
+++
b/components/camel-nats/src/test/java/org/apache/camel/component/nats/jetstream/NatsJetstreamConsumerRedeliveryIT.java
@@ -40,12 +40,12 @@ public class NatsJetstreamConsumerRedeliveryIT extends
NatsITSupport {
@Test
public void testConsumer() throws Exception {
mockResultEndpoint.expectedBodiesReceived("Hello World");
- mockResultEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2");
+ mockResultEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2-redelivery");
mockResultEndpoint.expectedHeaderReceived("counter", 3);
mockResultEndpoint.expectedHeaderReceived(NatsConstants.NATS_DELIVERY_COUNTER,
3);
mockInputEndpoint.expectedMessageCount(3);
- mockInputEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2");
+ mockInputEndpoint.expectedHeaderReceived(NatsConstants.NATS_SUBJECT,
"mytopic2-redelivery");
mockInputEndpoint.message(0).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(1);
mockInputEndpoint.message(1).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(2);
mockInputEndpoint.message(2).header(NatsConstants.NATS_DELIVERY_COUNTER).isEqualTo(3);
@@ -63,7 +63,7 @@ public class NatsJetstreamConsumerRedeliveryIT extends
NatsITSupport {
@Override
public void configure() {
String uri
- =
"nats:mytopic2?jetstreamEnabled=true&jetstreamName=mystream2&jetstreamAsync=false&durableName=camel2&pullSubscription=false&nackWait=10";
+ =
"nats:mytopic2-redelivery?jetstreamEnabled=true&jetstreamName=mystream2-redelivery&jetstreamAsync=false&durableName=camel2-redelivery&pullSubscription=false&nackWait=10";
from("direct:send")
// when running full test suite then send can fail due
to nats server setup/teardown