Files
vps-commander/internal/security/policy_test.go
T
2026-10-02 13:23:30 +08:00

36 lines
1.0 KiB
Go

package security
import "testing"
func TestSnapshotEffectiveRiskAndPublish(t *testing.T) {
s := New(RiskMedium, map[string]DevicePolicy{"hwsg": {Mode: "high"}}, 7)
if got := s.EffectiveRisk("hwsg"); got != RiskHigh {
t.Fatalf("hwsg risk=%d, want %d", got, RiskHigh)
}
if got := s.EffectiveRisk("n3450"); got != RiskMedium {
t.Fatalf("default risk=%d, want %d", got, RiskMedium)
}
if err := s.Publish(RiskLow, map[string]DevicePolicy{"n3450": {Mode: "medium"}}, 8); err != nil {
t.Fatal(err)
}
cur := s.Current()
if cur.Version != 8 {
t.Fatalf("version=%d, want 8", cur.Version)
}
if got := s.EffectiveRisk("hwsg"); got != RiskLow {
t.Fatalf("old node risk=%d, want %d", got, RiskLow)
}
if got := s.EffectiveRisk("n3450"); got != RiskMedium {
t.Fatalf("override risk=%d, want %d", got, RiskMedium)
}
}
func TestModeRiskRejectsUnknown(t *testing.T) {
if got := ModeRisk("inherit"); got != 0 {
t.Fatalf("inherit risk=%d, want 0", got)
}
if got := ModeRisk("root"); got != 0 {
t.Fatalf("unknown risk=%d, want 0", got)
}
}