using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Storage; using NATS.Server.JetStream; namespace NATS.Server.Tests; public class JetStreamConsumerFlowReplayParityTests { [Fact] public void Push_consumer_enqueues_flow_control_and_heartbeat_frames_when_enabled() { var engine = new PushConsumerEngine(); var consumer = new ConsumerHandle("ORDERS", new ConsumerConfig { AckPolicy = AckPolicy.Explicit, FlowControl = true, HeartbeatMs = 1000, RateLimitBps = 1024, }); engine.Enqueue(consumer, new StoredMessage { Sequence = 1, Subject = "orders.created", Payload = "payload"u8.ToArray(), }); consumer.PushFrames.Count.ShouldBe(3); consumer.PushFrames.Any(f => f.IsFlowControl).ShouldBeTrue(); consumer.PushFrames.Any(f => f.IsHeartbeat).ShouldBeTrue(); } }