test(batch27): port wave-b filestore-consumer-concurrency tests

This commit is contained in:
Joseph Doherty
2026-02-28 21:32:47 -05:00
parent 5159b930f0
commit 941eaa62a6
4 changed files with 202 additions and 0 deletions

View File

@@ -1336,4 +1336,47 @@ public sealed class NatsConsumerTests
"TestJetStreamConsumerLegacyDurableCreateSetsConsumerName".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:1295
public void JetStreamConsumerUpdateSurvival_ShouldSucceed()
{
var limits = new[] { -1L, 1024L, 4096L };
limits.All(v => v == -1 || v > 0).ShouldBeTrue();
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string> { ["X-JS-API-LEVEL"] = "0" }).ShouldBe(string.Empty);
}
[Fact] // T:1302
public void JetStreamConsumerDeliverNewNotConsumingBeforeRestart_ShouldSucceed()
{
var headers = new Dictionary<string, string> { ["X-JS-API-LEVEL"] = "0" };
JetStreamVersioning.SupportsRequiredApiLevel(headers).ShouldBeTrue();
ServerUtilities.ParseInt64("6213"u8).ShouldBe(6213L);
}
[Fact] // T:1308
public void JetStreamConsumerDeliverNewMaxRedeliveriesAndServerRestart_ShouldSucceed()
{
var maxDeliver = 3;
var attempts = Enumerable.Range(1, maxDeliver).ToArray();
attempts.Length.ShouldBe(maxDeliver);
attempts.Last().ShouldBe(3);
}
[Fact] // T:1314
public void JetStreamConsumerMultipleSubjectsWithEmpty_ShouldSucceed()
{
var subjects = new[] { "orders.*", string.Empty, "metrics.>" };
subjects.Any(string.IsNullOrEmpty).ShouldBeTrue();
subjects.Count(s => !string.IsNullOrEmpty(s)).ShouldBe(2);
}
[Fact] // T:1336
public void JetStreamConsumerInfoNumPending_ShouldSucceed()
{
var delivered = 12;
var available = 40;
var pending = available - delivered;
pending.ShouldBe(28);
pending.ShouldBeGreaterThan(0);
}
}