Files
go-sip/internal/health/sample_test.go
T

37 lines
1.1 KiB
Go

package health
import (
"context"
"strings"
"testing"
"time"
)
func TestSampleReportsHostDataAndUnconfiguredDimensionsAsUnknown(t *testing.T) {
sample := (Sampler{Now: func() time.Time { return time.Unix(100, 0) }}).Sample(context.Background(), t.TempDir())
if sample.ObservedAtUnixMs != 100000 {
t.Fatalf("observed_at=%d", sample.ObservedAtUnixMs)
}
if sample.MemoryAvailableBytes <= 0 || sample.SpoolCapacityBytes <= 0 || sample.FdLimit <= 0 {
t.Fatalf("expected host observations: %+v", sample)
}
if sample.SampleFresh {
t.Fatal("expected sample to remain unknown until media/AI dimensions are connected")
}
if !strings.Contains(sample.MissingReason, "media_ports") || !strings.Contains(sample.MissingReason, "ai_quota") {
t.Fatalf("missing reason=%q", sample.MissingReason)
}
}
func TestSampleFailsClosedForCanceledContext(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
cancel()
sample := (Sampler{}).Sample(ctx, t.TempDir())
if sample.SampleFresh {
t.Fatal("canceled sample must not be fresh")
}
if sample.MissingReason == "" {
t.Fatal("canceled sample must explain missing data")
}
}