Skip to content

Commit b936806

Browse files
sonus21claude
andcommitted
test: skip scheduled-message E2E tests when NATS server < 2.12
The CI nats-server is older than 2.12.0 and does not support ADR-51 message scheduling. Add a @beforeeach assumeTrue guard that skips both scheduledMessageIsDeliveredAfterDelay and its reactive counterpart when NatsProvisioner reports scheduling is unavailable, matching the intent already documented in the class Javadoc. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 126497d commit b936806

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

rqueue-spring-boot-starter/src/test/java/com/github/sonus21/rqueue/spring/boot/integration/NatsScheduledMessageE2EIT.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,19 @@
1010
package com.github.sonus21.rqueue.spring.boot.integration;
1111

1212
import static org.assertj.core.api.Assertions.assertThat;
13+
import static org.junit.jupiter.api.Assumptions.assumeTrue;
1314

1415
import com.github.sonus21.rqueue.annotation.RqueueListener;
1516
import com.github.sonus21.rqueue.core.ReactiveRqueueMessageEnqueuer;
1617
import com.github.sonus21.rqueue.core.RqueueMessageEnqueuer;
18+
import com.github.sonus21.rqueue.nats.internal.NatsProvisioner;
1719
import java.time.Duration;
1820
import java.util.ArrayList;
1921
import java.util.Collections;
2022
import java.util.List;
2123
import java.util.concurrent.CountDownLatch;
2224
import java.util.concurrent.TimeUnit;
25+
import org.junit.jupiter.api.BeforeEach;
2326
import org.junit.jupiter.api.Tag;
2427
import org.junit.jupiter.api.Test;
2528
import org.springframework.beans.factory.annotation.Autowired;
@@ -50,6 +53,9 @@ class NatsScheduledMessageE2EIT extends AbstractNatsBootIT {
5053
static final Duration NOT_YET_GUARD = Duration.ofMillis(800);
5154
static final Duration TOTAL_WAIT = Duration.ofSeconds(12);
5255

56+
@Autowired
57+
NatsProvisioner natsProvisioner;
58+
5359
@Autowired
5460
RqueueMessageEnqueuer enqueuer;
5561

@@ -59,6 +65,14 @@ class NatsScheduledMessageE2EIT extends AbstractNatsBootIT {
5965
@Autowired
6066
ScheduledListener listener;
6167

68+
@BeforeEach
69+
void requireSchedulingSupport() {
70+
assumeTrue(
71+
natsProvisioner.isMessageSchedulingSupported(),
72+
"Skipping: connected NATS server is older than " + NatsProvisioner.SCHEDULING_MIN_VERSION
73+
+ " and does not support ADR-51 message scheduling");
74+
}
75+
6276
@Test
6377
void scheduledMessageIsDeliveredAfterDelay() throws Exception {
6478
enqueuer.enqueueIn("sched-e2e", "delayed-payload", DELAY);

0 commit comments

Comments
 (0)