feat: enforce jetstream retention and limits

This commit is contained in:
Joseph Doherty
2026-02-23 06:04:23 -05:00
parent 95691fa9e7
commit d73e7e2f88
6 changed files with 107 additions and 8 deletions

View File

@@ -0,0 +1,18 @@
namespace NATS.Server.Tests;
public class JetStreamRetentionPolicyTests
{
[Fact]
public async Task MaxMsgs_limit_evicts_oldest_message()
{
await using var fixture = await JetStreamApiFixture.StartWithStreamAsync("L", "l.*", maxMsgs: 2);
await fixture.PublishAndGetAckAsync("l.1", "a");
await fixture.PublishAndGetAckAsync("l.2", "b");
await fixture.PublishAndGetAckAsync("l.3", "c");
var state = await fixture.GetStreamStateAsync("L");
state.Messages.ShouldBe((ulong)2);
state.FirstSeq.ShouldBe((ulong)2);
}
}