2026-05-25 15:36:49 +03:00
|
|
|
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)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-05-29 22:25:59 +03:00
|
|
|
|
|
|
|
|
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")
|
|
|
|
|
}
|
|
|
|
|
}
|