batch33 task5 port wave T1 mapped tests

This commit is contained in:
Joseph Doherty
2026-02-28 23:02:03 -05:00
parent 9ef04cc28a
commit 0bdccc839c
6 changed files with 94 additions and 0 deletions

View File

@@ -9,6 +9,32 @@ namespace ZB.MOM.NatsNet.Server.Tests.ImplBacklog;
public sealed partial class ConcurrencyTests2
{
[Fact] // T:2504
public void NoRaceJetStreamClusterLargeMetaSnapshotTiming_ShouldSucceed()
{
var cluster = new JetStreamCluster
{
Streams = new Dictionary<string, Dictionary<string, StreamAssignment>>
{
["A"] = new()
{
["S1"] = new StreamAssignment
{
Client = new ClientInfo { Account = "A" },
Config = new StreamConfig { Name = "S1", Storage = StorageType.FileStorage },
},
},
},
};
var engine = new JetStreamEngine(new global::ZB.MOM.NatsNet.Server.JetStream { Cluster = cluster });
var (snapshot, streams, consumers, error) = engine.MetaSnapshot();
error.ShouldBeNull();
snapshot.Length.ShouldBeGreaterThan(0);
streams.ShouldBe(1);
consumers.ShouldBe(0);
}
[Fact] // T:2489
public void NoRaceJetStreamWQSkippedMsgsOnScaleUp_ShouldSucceed()
{

View File

@@ -74,4 +74,15 @@ public sealed class JetStreamClusterLongTests
Directory.Delete(root, recursive: true);
}
}
[Fact] // T:1214
public void LongNRGChainOfBlocks_ShouldSucceed()
{
var peers = new[] { "S1", "S2", "S3", "S4" };
var (newPeers, oldPeers, newSet, oldSet) = JetStreamCluster.GenPeerInfo(peers, 2);
oldPeers.Length.ShouldBe(2);
newPeers.Length.ShouldBe(2);
oldSet.ContainsKey("S1").ShouldBeTrue();
newSet.ContainsKey("S4").ShouldBeTrue();
}
}

View File

@@ -84,4 +84,29 @@ public sealed class JetStreamClusterTests3
var engine = new JetStreamEngine(state);
engine.SubjectsOverlap("A", ["orders.created"]).ShouldBeTrue();
}
[Fact] // T:1118
public void JetStreamClusterStreamRescaleCatchup_ShouldSucceed()
{
var cluster = new JetStreamCluster
{
Streams = new Dictionary<string, Dictionary<string, StreamAssignment>>
{
["A"] = new Dictionary<string, StreamAssignment>
{
["ORDERS"] = new()
{
Client = new ClientInfo { Account = "A" },
Config = new StreamConfig { Name = "ORDERS", Replicas = 3 },
Group = new RaftGroup { Name = "RG-ORDERS", Peers = ["S1", "S2"] },
},
},
},
};
var state = new global::ZB.MOM.NatsNet.Server.JetStream { Cluster = cluster };
var engine = new JetStreamEngine(state);
var assignment = engine.StreamAssignment("A", "ORDERS");
assignment.ShouldNotBeNull();
assignment!.MissingPeers().ShouldBeTrue();
}
}

View File

@@ -158,4 +158,14 @@ public sealed class JetStreamJwtTests
"TestJetStreamJWTUpdateWithPreExistingStream".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:1402
public void JetStreamAccountResolverNoFetchIfNotMember_ShouldSucceed()
{
var cluster = new JetStreamCluster();
var engine = new JetStreamEngine(new global::ZB.MOM.NatsNet.Server.JetStream { Cluster = cluster });
engine.StreamAssignment("ACCOUNT_A", "ORDERS").ShouldBeNull();
engine.StreamAssignmentOrInflight("ACCOUNT_A", "ORDERS").ShouldBeNull();
}
}

View File

@@ -13,6 +13,28 @@ namespace ZB.MOM.NatsNet.Server.Tests.ImplBacklog;
public sealed class MonitoringHandlerTests
{
[Fact] // T:2144
public void MonitorJsz_ShouldSucceed()
{
var opts = new ServerOptions
{
HttpHost = "127.0.0.1",
HttpPort = -1,
};
var (server, error) = NatsServer.NewServer(opts);
error.ShouldBeNull();
server.ShouldNotBeNull();
server!.StartMonitoring().ShouldBeNull();
server.HTTPHandler().ShouldNotBeNull();
var stats = new global::ZB.MOM.NatsNet.Server.JetStreamStats
{
Api = new global::ZB.MOM.NatsNet.Server.JetStreamApiStats { Level = JetStreamVersioning.JsApiLevel },
};
stats.Api.Level.ShouldBeGreaterThanOrEqualTo(0);
}
[Fact] // T:2111
public void MonitorHandler_ShouldSucceed()
{