Skip to content

Commit 93d3eb9

Browse files
committed
test(qwp): cover SF max segment bytes setter
1 parent dcdfca5 commit 93d3eb9

1 file changed

Lines changed: 48 additions & 0 deletions

File tree

core/src/test/java/io/questdb/client/test/cutlass/qwp/client/LineSenderBuilderWebSocketTest.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,54 @@ public void testRetryTimeout_notSupportedForWebSocket() {
634634
"not supported for WebSocket");
635635
}
636636

637+
@Test
638+
public void testStoreAndForwardMaxSegmentBytes() {
639+
Sender.LineSenderBuilder builder = Sender.builder(Sender.Transport.WEBSOCKET);
640+
641+
Assert.assertSame(builder, builder.storeAndForwardMaxSegmentBytes(64 * 1024L));
642+
Assert.assertEquals(
643+
64 * 1024L,
644+
((Number) builder.wsConfigSnapshotForTest().get("sf_max_segment_bytes")).longValue()
645+
);
646+
}
647+
648+
@Test
649+
public void testStoreAndForwardMaxSegmentBytesRejectsNonPositiveValues() {
650+
long[] rejected = {0L, -1L};
651+
for (long value : rejected) {
652+
try {
653+
Sender.builder(Sender.Transport.WEBSOCKET)
654+
.storeAndForwardMaxSegmentBytes(value);
655+
Assert.fail("expected storeAndForwardMaxSegmentBytes(" + value + ") to fail");
656+
} catch (LineSenderException expected) {
657+
Assert.assertEquals(
658+
"sf_max_segment_bytes must be positive: " + value,
659+
expected.getMessage()
660+
);
661+
}
662+
}
663+
}
664+
665+
@Test
666+
public void testStoreAndForwardMaxSegmentBytesRejectedForNonWebSocketTransports() {
667+
Sender.Transport[] rejected = {
668+
Sender.Transport.HTTP,
669+
Sender.Transport.TCP,
670+
Sender.Transport.UDP
671+
};
672+
for (Sender.Transport transport : rejected) {
673+
try {
674+
Sender.builder(transport).storeAndForwardMaxSegmentBytes(64 * 1024L);
675+
Assert.fail("expected " + transport + " to reject storeAndForwardMaxSegmentBytes");
676+
} catch (LineSenderException expected) {
677+
Assert.assertEquals(
678+
"store_and_forward is only supported for WebSocket transport",
679+
expected.getMessage()
680+
);
681+
}
682+
}
683+
}
684+
637685
@Test
638686
public void testSyncModeAutoFlushDefaults() throws Exception {
639687
// Regression test: connect() must not hardcode autoFlush to 0.

0 commit comments

Comments
 (0)