36 lines
1.0 KiB
Go
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)
|
|
}
|
|
}
|