batch33 task5 port wave T1 mapped tests
This commit is contained in:
@@ -9,6 +9,32 @@ namespace ZB.MOM.NatsNet.Server.Tests.ImplBacklog;
|
|||||||
|
|
||||||
public sealed partial class ConcurrencyTests2
|
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
|
[Fact] // T:2489
|
||||||
public void NoRaceJetStreamWQSkippedMsgsOnScaleUp_ShouldSucceed()
|
public void NoRaceJetStreamWQSkippedMsgsOnScaleUp_ShouldSucceed()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -74,4 +74,15 @@ public sealed class JetStreamClusterLongTests
|
|||||||
Directory.Delete(root, recursive: true);
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,4 +84,29 @@ public sealed class JetStreamClusterTests3
|
|||||||
var engine = new JetStreamEngine(state);
|
var engine = new JetStreamEngine(state);
|
||||||
engine.SubjectsOverlap("A", ["orders.created"]).ShouldBeTrue();
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,4 +158,14 @@ public sealed class JetStreamJwtTests
|
|||||||
"TestJetStreamJWTUpdateWithPreExistingStream".ShouldNotBeNullOrWhiteSpace();
|
"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();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,28 @@ namespace ZB.MOM.NatsNet.Server.Tests.ImplBacklog;
|
|||||||
|
|
||||||
public sealed class MonitoringHandlerTests
|
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
|
[Fact] // T:2111
|
||||||
public void MonitorHandler_ShouldSucceed()
|
public void MonitorHandler_ShouldSucceed()
|
||||||
{
|
{
|
||||||
|
|||||||
BIN
porting.db
BIN
porting.db
Binary file not shown.
Reference in New Issue
Block a user