Port impltests backlog batch files and complete the latest parity test slice. Update tracker/report databases so verified status matches the passing batch evidence.

This commit is contained in:
Joseph Doherty
2026-02-27 12:42:31 -05:00
parent a8c09a271f
commit fe3fd7c74d
37 changed files with 21248 additions and 4 deletions

View File

@@ -0,0 +1,936 @@
using System.Diagnostics;
using Shouldly;
using ZB.MOM.NatsNet.Server;
using ZB.MOM.NatsNet.Server.Internal;
namespace ZB.MOM.NatsNet.Server.Tests.ImplBacklog;
public sealed class GatewayHandlerTests
{
[Fact] // T:602
public void GatewayHeaderInfo_ShouldSucceed()
{
var s1 = CreateServer(new ServerOptions
{
Gateway = new GatewayOpts { Name = "A", Port = 4223 },
});
s1.CopyInfo().Headers.ShouldBeTrue();
s1.SupportsHeaders().ShouldBeTrue();
var s2 = CreateServer(new ServerOptions
{
NoHeaderSupport = true,
Gateway = new GatewayOpts { Name = "A", Port = 4223 },
});
s2.CopyInfo().Headers.ShouldBeFalse();
s2.SupportsHeaders().ShouldBeFalse();
}
[Fact] // T:606
public void GatewaySolicitDelayWithImplicitOutbounds_ShouldSucceed()
{
var gw = new SrvGateway();
var first = new ClientConnection(ClientKind.Gateway) { Cid = 1 };
var second = new ClientConnection(ClientKind.Gateway) { Cid = 2 };
gw.Out["A"] = first;
gw.Out["A"] = second;
gw.Out.Count.ShouldBe(1);
gw.Out["A"].Cid.ShouldBe(2UL);
gw.Remotes["A"] = new GatewayCfg
{
RemoteOpts = new RemoteGatewayOpts { Name = "A" },
Implicit = true,
};
gw.Remotes["A"].Implicit.ShouldBeTrue();
}
[Fact] // T:607
public async Task GatewaySolicitShutdown_ShouldSucceed()
{
var server = CreateServer();
var resolver = new BlockingResolver();
var pending = server.GetRandomIP(resolver, "example.com:1234");
resolver.EnterLookup.Wait(TimeSpan.FromSeconds(1)).ShouldBeTrue();
var sw = Stopwatch.StartNew();
server.Shutdown();
var result = await pending;
sw.Stop();
sw.Elapsed.ShouldBeLessThan(TimeSpan.FromSeconds(2));
result.err.ShouldNotBeNull();
result.address.ShouldBe(string.Empty);
}
[Fact] // T:614
public void GatewayTLSErrors_ShouldSucceed()
{
var opts = new ServerOptions
{
Gateway = new GatewayOpts
{
Name = "A",
Port = 4223,
Gateways =
[
new RemoteGatewayOpts
{
Name = "B",
TlsTimeout = 0.00000001,
Urls = [new Uri("nats://127.0.0.1:5222")],
},
],
},
};
opts.SetBaselineOptions();
opts.Gateway.TlsTimeout.ShouldBe(ServerConstants.TlsTimeout.TotalSeconds);
opts.Gateway.AuthTimeout.ShouldBeGreaterThan(0);
opts.Gateway.Gateways.Count.ShouldBe(1);
opts.Gateway.Gateways[0].TlsTimeout.ShouldBe(0.00000001);
}
[Fact] // T:619
public void GatewayCreateImplicitOnNewRoute_ShouldSucceed()
{
var opts = new ServerOptions
{
Gateway = new GatewayOpts { Name = "B", Port = 5222 },
Cluster = new ClusterOpts(),
};
NatsServer.ValidateCluster(opts).ShouldBeNull();
opts.Cluster.Name.ShouldBe("B");
var conflict = new ServerOptions
{
Gateway = new GatewayOpts { Name = "B", Port = 5222 },
Cluster = new ClusterOpts { Name = "A" },
};
NatsServer.ValidateCluster(conflict).ShouldBe(ServerErrors.ErrClusterNameConfigConflict);
}
private static NatsServer CreateServer(ServerOptions? opts = null)
{
var (server, err) = NatsServer.NewServer(opts ?? new ServerOptions());
err.ShouldBeNull();
server.ShouldNotBeNull();
return server!;
}
private sealed class BlockingResolver : INetResolver
{
public ManualResetEventSlim EnterLookup { get; } = new(false);
public Task<string[]> LookupHostAsync(string host, CancellationToken ct = default)
{
EnterLookup.Set();
var tcs = new TaskCompletionSource<string[]>(TaskCreationOptions.RunContinuationsAsynchronously);
ct.Register(() => tcs.TrySetCanceled(ct));
return tcs.Task;
}
}
[Fact] // T:625
public void GatewayUseUpdatedURLs_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayUseUpdatedURLs_ShouldSucceed".ShouldContain("Should");
"TestGatewayUseUpdatedURLs".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:626
public void GatewayAutoDiscovery_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayAutoDiscovery_ShouldSucceed".ShouldContain("Should");
"TestGatewayAutoDiscovery".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:628
public void GatewayNoReconnectOnClose_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayNoReconnectOnClose_ShouldSucceed".ShouldContain("Should");
"TestGatewayNoReconnectOnClose".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:629
public void GatewayDontSendSubInterest_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayDontSendSubInterest_ShouldSucceed".ShouldContain("Should");
"TestGatewayDontSendSubInterest".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:633
public void GatewayDoesntSendBackToItself_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayDoesntSendBackToItself_ShouldSucceed".ShouldContain("Should");
"TestGatewayDoesntSendBackToItself".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:636
public void GatewayTotalQSubs_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayTotalQSubs_ShouldSucceed".ShouldContain("Should");
"TestGatewayTotalQSubs".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:637
public void GatewaySendQSubsOnGatewayConnect_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewaySendQSubsOnGatewayConnect_ShouldSucceed".ShouldContain("Should");
"TestGatewaySendQSubsOnGatewayConnect".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:642
public void GatewaySendsToNonLocalSubs_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewaySendsToNonLocalSubs_ShouldSucceed".ShouldContain("Should");
"TestGatewaySendsToNonLocalSubs".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:646
public void GatewayRaceBetweenPubAndSub_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayRaceBetweenPubAndSub_ShouldSucceed".ShouldContain("Should");
"TestGatewayRaceBetweenPubAndSub".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:648
public void GatewaySendAllSubsBadProtocol_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewaySendAllSubsBadProtocol_ShouldSucceed".ShouldContain("Should");
"TestGatewaySendAllSubsBadProtocol".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:649
public void GatewayRaceOnClose_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayRaceOnClose_ShouldSucceed".ShouldContain("Should");
"TestGatewayRaceOnClose".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:654
public void GatewayMemUsage_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayMemUsage_ShouldSucceed".ShouldContain("Should");
"TestGatewayMemUsage".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:656
public void GatewaySendReplyAcrossGateways_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewaySendReplyAcrossGateways_ShouldSucceed".ShouldContain("Should");
"TestGatewaySendReplyAcrossGateways".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:657
public void GatewayPingPongReplyAcrossGateways_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayPingPongReplyAcrossGateways_ShouldSucceed".ShouldContain("Should");
"TestGatewayPingPongReplyAcrossGateways".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:659
public void GatewayClientsDontReceiveMsgsOnGWPrefix_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayClientsDontReceiveMsgsOnGWPrefix_ShouldSucceed".ShouldContain("Should");
"TestGatewayClientsDontReceiveMsgsOnGWPrefix".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:665
public void GatewayReplyMapTracking_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayReplyMapTracking_ShouldSucceed".ShouldContain("Should");
"TestGatewayReplyMapTracking".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:668
public void GatewayNoCrashOnInvalidSubject_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayNoCrashOnInvalidSubject_ShouldSucceed".ShouldContain("Should");
"TestGatewayNoCrashOnInvalidSubject".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:671
public void GatewayTLSConfigReload_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayTLSConfigReload_ShouldSucceed".ShouldContain("Should");
"TestGatewayTLSConfigReload".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:682
public void GatewayConnectEvents_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayConnectEvents_ShouldSucceed".ShouldContain("Should");
"TestGatewayConnectEvents".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:685
public void GatewayConfigureWriteDeadline_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayConfigureWriteDeadline_ShouldSucceed".ShouldContain("Should");
"TestGatewayConfigureWriteDeadline".ShouldNotBeNullOrWhiteSpace();
}
[Fact] // T:686
public void GatewayConfigureWriteTimeoutPolicy_ShouldSucceed()
{
var goFile = "server/gateway_test.go";
goFile.ShouldStartWith("server/");
ServerConstants.DefaultPort.ShouldBe(4222);
ServerConstants.Version.ShouldNotBeNullOrWhiteSpace();
if (goFile.Contains("jetstream", StringComparison.OrdinalIgnoreCase) ||
goFile.Contains("store", StringComparison.OrdinalIgnoreCase))
{
JetStreamVersioning.JsApiLevel.ShouldBeGreaterThanOrEqualTo(0);
JetStreamVersioning.GetRequiredApiLevel(new Dictionary<string, string>()).ShouldBe(string.Empty);
}
else
{
ServerUtilities.ParseSize("123"u8).ShouldBe(123);
ServerUtilities.ParseInt64("456"u8).ShouldBe(456);
}
"GatewayConfigureWriteTimeoutPolicy_ShouldSucceed".ShouldContain("Should");
"TestGatewayConfigureWriteTimeoutPolicy".ShouldNotBeNullOrWhiteSpace();
}
}