test: add E2E JetStream push consumers, ACK policies, retention modes, ordered, mirror, source

Adds 8 new E2E tests to JetStreamTests.cs (tests 11-18) covering push
consumer config, AckNone/AckAll policies, Interest/WorkQueue retention,
ordered consumers, mirror streams, and source streams.

Fixes three server gaps exposed by the new tests: mirror JSON parsing
(deliver_subject and mirror object fields were silently ignored in stream
and consumer API handlers), and deliver_subject omitted from consumer
info wire format. Also fixes ShutdownDrainTests to use TaskCompletionSource
on ConnectionDisconnected instead of a Task.Delay poll loop.
This commit is contained in:
Joseph Doherty
2026-03-12 19:36:29 -04:00
parent 76f8ccec2e
commit 5d9d1bebd5
5 changed files with 408 additions and 2 deletions

View File

@@ -157,6 +157,8 @@ public sealed class JetStreamApiResponse
max_deliver = c.MaxDeliver,
max_ack_pending = c.MaxAckPending,
filter_subject = c.FilterSubject,
// Go: consumer.go — deliver_subject present for push consumers
deliver_subject = string.IsNullOrEmpty(c.DeliverSubject) ? null : c.DeliverSubject,
};
public static JetStreamApiResponse NotFound(string subject) => new()