metis/pkg/service/settings_test.go

43 lines
1.2 KiB
Go
Raw Permalink Normal View History

package service
import "testing"
func TestSettingsHelpers(t *testing.T) {
t.Setenv("METIS_SAMPLE", "value")
if got := getenvDefault("METIS_SAMPLE", "fallback"); got != "value" {
t.Fatalf("getenvDefault = %q", got)
}
if got := getenvInt64("METIS_MAX_DEVICE_BYTES", 99); got != 99 {
t.Fatalf("getenvInt64 fallback = %d", got)
}
t.Setenv("METIS_MAX_DEVICE_BYTES", "abc")
if got := getenvInt64("METIS_MAX_DEVICE_BYTES", 99); got != 99 {
t.Fatalf("getenvInt64 invalid = %d", got)
}
if got := splitList("a, ,b,,c"); len(got) != 3 || got[0] != "a" || got[2] != "c" {
t.Fatalf("splitList = %#v", got)
}
if got := hostnameOr("fallback"); got == "" {
t.Fatal("hostnameOr returned empty string")
}
}
func TestHostnameFallbackAndSplitListBranches(t *testing.T) {
orig := hostNameLookup
hostNameLookup = func() (string, error) { return "", errStub{} }
t.Cleanup(func() { hostNameLookup = orig })
if got := hostnameOr("fallback"); got != "fallback" {
t.Fatalf("hostnameOr fallback = %q", got)
}
if got := splitList(""); got != nil {
t.Fatalf("splitList empty = %#v", got)
}
if got := splitList(" "); got != nil {
t.Fatalf("splitList whitespace = %#v", got)
}
}
type errStub struct{}
func (errStub) Error() string { return "stub" }