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
28 lines
885 B
C#
28 lines
885 B
C#
using StellaOps.AirGap.Time.Models;
|
|
using StellaOps.AirGap.Time.Services;
|
|
|
|
namespace StellaOps.AirGap.Time.Tests;
|
|
|
|
public class TimeTelemetryTests
|
|
{
|
|
[Fact]
|
|
public void Records_latest_snapshot_per_tenant()
|
|
{
|
|
var telemetry = new TimeTelemetry();
|
|
var status = new TimeStatus(
|
|
new TimeAnchor(DateTimeOffset.UnixEpoch, "src", "fmt", "fp", "digest"),
|
|
new StalenessEvaluation(90, 60, 120, true, false),
|
|
StalenessBudget.Default,
|
|
new Dictionary<string, StalenessEvaluation>{{"advisories", new StalenessEvaluation(90,60,120,true,false)}},
|
|
DateTimeOffset.UtcNow);
|
|
|
|
telemetry.Record("t1", status);
|
|
|
|
var snap = telemetry.GetLatest("t1");
|
|
Assert.NotNull(snap);
|
|
Assert.Equal(90, snap!.AgeSeconds);
|
|
Assert.True(snap.IsWarning);
|
|
Assert.False(snap.IsBreach);
|
|
}
|
|
}
|