using Shouldly; using ZB.MOM.NatsNet.Server; namespace ZB.MOM.NatsNet.Server.Tests.Auth; public sealed class OcspResponseCacheParserTests { [Fact] public void NewOCSPResponseCacheConfig_Defaults_ReturnExpectedValues() { var config = OcspHandler.NewOCSPResponseCacheConfig(); config.Type.ShouldBe("local"); config.LocalStore.ShouldBe("_rc_"); config.PreserveRevoked.ShouldBeFalse(); config.SaveInterval.ShouldBe(TimeSpan.FromMinutes(5).TotalSeconds); } [Fact] public void ParseOCSPResponseCache_StringDurationBelowMinimum_ClampsToOneSecond() { var input = new Dictionary { ["type"] = "local", ["save_interval"] = "500ms", }; var (config, error) = OcspHandler.ParseOCSPResponseCache(input); error.ShouldBeNull(); config.ShouldNotBeNull(); config.SaveInterval.ShouldBe(1); } [Fact] public void ParseOCSPResponseCache_NoneType_AcceptsConfiguration() { var input = new Dictionary { ["type"] = "none", ["local_store"] = "_rc_", ["preserve_revoked"] = true, ["save_interval"] = 25.0, }; var (config, error) = OcspHandler.ParseOCSPResponseCache(input); error.ShouldBeNull(); config.ShouldNotBeNull(); config.Type.ShouldBe("none"); config.PreserveRevoked.ShouldBeTrue(); config.SaveInterval.ShouldBe(25.0); } }