package config import "testing" func TestParseMegabytes(t *testing.T) { tests := map[string]int64{ "0.5": 512 * 1024, "0.5Mb": 512 * 1024, "1mb": 1024 * 1024, "1MB": 1024 * 1024, "1.5Mb": 1536 * 1024, " 2 ": 2 * 1024 * 1024, } for input, want := range tests { got, err := parseMegabytes(input) if err != nil { t.Fatalf("parseMegabytes(%q) returned error: %v", input, err) } if got != want { t.Fatalf("parseMegabytes(%q) = %d, want %d", input, got, want) } } } func TestParseMegabytesRejectsInvalidValues(t *testing.T) { tests := []string{"", "0", "-1", "abc"} for _, input := range tests { if _, err := parseMegabytes(input); err == nil { t.Fatalf("parseMegabytes(%q) returned nil error", input) } } } func TestEnvBool(t *testing.T) { t.Setenv("WARPBOX_TEST_BOOL", "false") if got := envBool("WARPBOX_TEST_BOOL", true); got { t.Fatalf("envBool() = true, want false") } t.Setenv("WARPBOX_TEST_BOOL", "1") if got := envBool("WARPBOX_TEST_BOOL", false); !got { t.Fatalf("envBool() = false, want true") } t.Setenv("WARPBOX_TEST_BOOL", "not-a-bool") if got := envBool("WARPBOX_TEST_BOOL", true); !got { t.Fatalf("envBool() did not fall back to true") } }