safing-portbase/config/layers_test.go

51 lines
895 B
Go

package config
import "testing"
func TestLayers(t *testing.T) {
err := SetConfig("{invalid json")
if err == nil {
t.Fatal("expected error")
}
err = SetDefaultConfig("{invalid json")
if err == nil {
t.Fatal("expected error")
}
err = SetConfig(`
{
"monkey": "banana",
"elephant": 3
}
`)
if err != nil {
t.Fatal(err)
}
// Test missing values
missingString := GetAsString("missing", "fallback")
if missingString() != "fallback" {
t.Fatal("expected fallback value: fallback")
}
missingInt := GetAsInt("missing", -1)
if missingInt() != -1 {
t.Fatal("expected fallback value: -1")
}
// Test value mismatch
notString := GetAsString("elephant", "fallback")
if notString() != "fallback" {
t.Fatal("expected fallback value: fallback")
}
notInt := GetAsInt("monkey", -1)
if notInt() != -1 {
t.Fatal("expected fallback value: -1")
}
}