feat(batch6-task6): port t1 opts reload jwt tests

This commit is contained in:
Joseph Doherty
2026-02-28 10:04:45 -05:00
parent 3c1ab92a3a
commit 62169c82d9
6 changed files with 285 additions and 36 deletions

View File

@@ -278,36 +278,98 @@ public sealed class ServerOptionsTests
var errors = new List<Exception>();
var warnings = new List<Exception>();
ServerOptions.ParseCluster(
var leafError = ServerOptions.ParseLeafNodes(
new Dictionary<string, object?>
{
["write_deadline"] = "12s",
["write_deadline"] = "5s",
},
options,
errors,
warnings);
var gatewayError = ServerOptions.ParseGateway(
new Dictionary<string, object?>
{
["write_deadline"] = "6s",
},
options,
errors,
warnings);
var clusterError = ServerOptions.ParseCluster(
new Dictionary<string, object?>
{
["write_deadline"] = "7s",
},
options,
errors,
warnings);
options.WriteDeadline = ServerOptions.ParseDuration("write_deadline", "8s", errors, warnings);
leafError.ShouldBeNull();
gatewayError.ShouldBeNull();
clusterError.ShouldBeNull();
errors.ShouldBeEmpty();
options.Cluster.WriteDeadline.ShouldBe(TimeSpan.FromSeconds(12));
options.LeafNode.WriteDeadline.ShouldBe(TimeSpan.FromSeconds(5));
options.Gateway.WriteDeadline.ShouldBe(TimeSpan.FromSeconds(6));
options.Cluster.WriteDeadline.ShouldBe(TimeSpan.FromSeconds(7));
options.WriteDeadline.ShouldBe(TimeSpan.FromSeconds(8));
}
[Fact] // T:2587
public void WriteTimeoutConfigParsing_ShouldSucceed()
{
var options = new ServerOptions();
var errors = new List<Exception>();
var warnings = new List<Exception>();
var expectedPolicies = new Dictionary<string, WriteTimeoutPolicy>(StringComparer.Ordinal)
{
["default"] = WriteTimeoutPolicy.Default,
["retry"] = WriteTimeoutPolicy.Retry,
["close"] = WriteTimeoutPolicy.Close,
};
ServerOptions.ParseGateway(
new Dictionary<string, object?>
{
["write_timeout"] = "retry",
},
options,
errors,
warnings);
foreach (var (rawPolicy, expectedPolicy) in expectedPolicies)
{
var options = new ServerOptions();
var errors = new List<Exception>();
var warnings = new List<Exception>();
errors.ShouldBeEmpty();
options.Gateway.WriteTimeout.ShouldBe(WriteTimeoutPolicy.Retry);
var leafError = ServerOptions.ParseLeafNodes(
new Dictionary<string, object?>
{
["write_timeout"] = rawPolicy,
},
options,
errors,
warnings);
var gatewayError = ServerOptions.ParseGateway(
new Dictionary<string, object?>
{
["write_timeout"] = rawPolicy,
},
options,
errors,
warnings);
var clusterError = ServerOptions.ParseCluster(
new Dictionary<string, object?>
{
["write_timeout"] = rawPolicy,
},
options,
errors,
warnings);
options.WriteTimeout = ServerOptions.ParseWriteDeadlinePolicy(rawPolicy, errors);
leafError.ShouldBeNull();
gatewayError.ShouldBeNull();
clusterError.ShouldBeNull();
errors.ShouldBeEmpty();
options.LeafNode.WriteTimeout.ShouldBe(expectedPolicy);
options.Gateway.WriteTimeout.ShouldBe(expectedPolicy);
options.Cluster.WriteTimeout.ShouldBe(expectedPolicy);
options.WriteTimeout.ShouldBe(expectedPolicy);
}
}
}