43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
|
|
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" }
|