using Microsoft.Extensions.Options; using StellaOps.AirGap.Time.Config; using StellaOps.AirGap.Time.Models; namespace StellaOps.AirGap.Time.Tests; public class AirGapOptionsValidatorTests { [Fact] public void FailsWhenTenantMissing() { var opts = new AirGapOptions { TenantId = "" }; var validator = new AirGapOptionsValidator(); var result = validator.Validate(null, opts); Assert.True(result.Failed); } [Fact] public void FailsWhenWarningExceedsBreach() { var opts = new AirGapOptions { TenantId = "t", Staleness = new StalenessOptions { WarningSeconds = 20, BreachSeconds = 10 } }; var validator = new AirGapOptionsValidator(); var result = validator.Validate(null, opts); Assert.True(result.Failed); } [Fact] public void SucceedsForValidOptions() { var opts = new AirGapOptions { TenantId = "t", Staleness = new StalenessOptions { WarningSeconds = 10, BreachSeconds = 20 } }; var validator = new AirGapOptionsValidator(); var result = validator.Validate(null, opts); Assert.True(result.Succeeded); } }