29 lines
738 B
Go
29 lines
738 B
Go
package cli
|
|
|
|
import "testing"
|
|
|
|
func TestSettingsRegistry(t *testing.T) {
|
|
def, ok := settingsRegistry["audit_retention_days"]
|
|
if !ok {
|
|
t.Fatal("audit_retention_days must be registered")
|
|
}
|
|
if def.desc == "" {
|
|
t.Error("registered setting needs a description")
|
|
}
|
|
if err := def.validate("30"); err != nil {
|
|
t.Errorf("validate(30) = %v, want nil", err)
|
|
}
|
|
for _, bad := range []string{"-1", "abc", ""} {
|
|
if def.validate(bad) == nil {
|
|
t.Errorf("validate(%q) = nil, want error", bad)
|
|
}
|
|
}
|
|
if _, ok := settingsRegistry["nope"]; ok {
|
|
t.Error("unknown key must not be present")
|
|
}
|
|
keys := settingKeys()
|
|
if len(keys) != len(settingsRegistry) {
|
|
t.Fatalf("settingKeys len=%d, want %d", len(keys), len(settingsRegistry))
|
|
}
|
|
}
|