Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
sdk-generator-smoke / sdk-smoke (push) Has been cancelled
SDK Publish & Sign / sdk-publish (push) Has been cancelled
api-governance / spectral-lint (push) Has been cancelled
oas-ci / oas-validate (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
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);
|
|
}
|
|
}
|