mesh/merge-gate head 2d2e736b4592 merged into trunk fdfda0e839e9 — pass: builds mesh-controller → novox; no bus step; every machine composes with the chang…
mesh/repo-check head 2d2e736b4592 merged into trunk fdfda0e839e9 — pass: its merge-check.sh passed
mesh/delivery delivered
38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"github.com/novox/mesh-controller/internal/conditions"
|
|
)
|
|
|
|
func severityRaisedFor(t *testing.T, line string) conditions.Severity {
|
|
t.Helper()
|
|
var l stalledLine
|
|
if err := json.Unmarshal([]byte(line), &l); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
got := stalledObservations([]stalledLine{l})
|
|
if len(got) != 1 {
|
|
t.Fatalf("%d conditions", len(got))
|
|
}
|
|
return got[0].Severity
|
|
}
|
|
|
|
func TestAnUrgentStalledLineRaisesAnUrgentCondition(t *testing.T) { // 1278/AC1
|
|
line := `{"id":"novox/mesh-delivery#5","state":"held","for":"3m0s","bound":"0s","h2":"close","says":"held","severity":"urgent"}`
|
|
if got := severityRaisedFor(t, line); got != conditions.Urgent {
|
|
t.Errorf("an urgent line raised %q", got)
|
|
}
|
|
}
|
|
|
|
func TestAStalledLineWithoutOrWithAnUnknownSeverityRaisesAWarning(t *testing.T) { // 1278/AC2
|
|
for _, extra := range []string{``, `,"severity":""`, `,"severity":"critical"`, `,"severity":"warning"`} {
|
|
line := `{"id":"novox/a#1","state":"unanswered","for":"3m0s","bound":"2m0s","h2":"close","says":"x"` + extra + `}`
|
|
if got := severityRaisedFor(t, line); got != conditions.Warning {
|
|
t.Errorf("the line %s raised %q", extra, got)
|
|
}
|
|
}
|
|
}
|