chore: establish local platform baseline

This commit is contained in:
Codex Local
2026-08-26 06:41:54 +08:00
commit 29bdf4900f
575 changed files with 95644 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
package alerts
import (
"testing"
"time"
)
func TestAlertEnumsAndRuleCode(t *testing.T) {
t.Parallel()
for _, value := range []string{"BUSINESS", "TECHNICAL", "SECURITY", "COST"} {
if !validCategory(value) {
t.Fatalf("expected valid category %q", value)
}
}
for _, value := range []string{"CRITICAL", "HIGH", "MEDIUM", "LOW"} {
if !validSeverity(value) {
t.Fatalf("expected valid severity %q", value)
}
}
for _, value := range []string{"OPEN", "ACKNOWLEDGED", "MITIGATED", "RESOLVED", "SILENCED"} {
if !validStatus(value) {
t.Fatalf("expected valid status %q", value)
}
}
for _, value := range []string{"OUTBOX_DEAD_LETTER", "VOICE_TASK_STUCK", "COST_DAILY_QUOTA_NEAR"} {
if !rulePattern.MatchString(value) {
t.Fatalf("expected valid rule code %q", value)
}
}
for _, value := range []string{"", "ab", "lower_case", "-BROKEN"} {
if rulePattern.MatchString(value) {
t.Fatalf("expected invalid rule code %q", value)
}
}
}
func TestNormalizeRouting(t *testing.T) {
t.Parallel()
input := RoutingInput{
Category: " technical ",
Severity: " high ",
ReceiverGroup: " on-call ",
EscalationReceiverGroup: " incident-command ",
RunbookRef: " runbook://outbox/dead-letter ",
ChangeSummary: " initial route ",
}
normalizeRouting(&input)
if input.Category != "TECHNICAL" || input.Severity != "HIGH" || input.ReceiverGroup != "on-call" || input.EscalationReceiverGroup != "incident-command" || input.RunbookRef != "runbook://outbox/dead-letter" || input.ChangeSummary != "initial route" {
t.Fatalf("unexpected normalized routing input: %#v", input)
}
input.ResponseMinutes = 10
input.EscalationAfterMinutes = 30
if !validRoutingInput(input) {
t.Fatal("expected complete routing policy to be valid")
}
input.EscalationAfterMinutes = 5
if validRoutingInput(input) {
t.Fatal("escalation deadline before response deadline must be rejected")
}
}
func TestSilenceWindowBoundaries(t *testing.T) {
t.Parallel()
start := time.Date(2026, 8, 23, 10, 0, 0, 0, time.UTC)
input := SilenceInput{RuleCode: " outbox_dead_letter ", Reason: " planned maintenance ", StartsAt: start, EndsAt: start.Add(30 * 24 * time.Hour)}
normalizeSilence(&input)
if !validSilenceInput(input, start) {
t.Fatal("expected normalized 30-day silence to be valid")
}
input.EndsAt = start.Add(30*24*time.Hour + time.Second)
if validSilenceInput(input, start) {
t.Fatal("silence longer than 30 days must be rejected")
}
input.EndsAt = start.Add(time.Hour)
input.RuleCode = ""
if validSilenceInput(input, start) {
t.Fatal("silence without rule, category or resource scope must be rejected")
}
}