mirror of
https://github.com/safing/portbase
synced 2025-09-02 02:29:59 +00:00
51 lines
895 B
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")
|
|
}
|
|
|
|
}
|