78 lines
1.3 KiB
Go
78 lines
1.3 KiB
Go
// Copyright 2026 eat-pray-ai & OpenWaygate
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package pkg
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestInitLogger(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
level string
|
|
}{
|
|
{"debug", "debug"},
|
|
{"info", "info"},
|
|
{"warn", "warn"},
|
|
{"error", "error"},
|
|
{"default", ""},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(
|
|
tt.name, func(t *testing.T) {
|
|
if tt.level != "" {
|
|
t.Setenv("YUTU_LOG_LEVEL", tt.level)
|
|
} else {
|
|
_ = os.Unsetenv("YUTU_LOG_LEVEL")
|
|
}
|
|
initLogger()
|
|
if logger == nil {
|
|
t.Error("logger is nil")
|
|
}
|
|
},
|
|
)
|
|
}
|
|
}
|
|
|
|
func TestInitRootDir(t *testing.T) {
|
|
// Save original RootDir and restore after test
|
|
origRootDir := RootDir
|
|
origRoot := Root
|
|
defer func() {
|
|
RootDir = origRootDir
|
|
Root = origRoot
|
|
}()
|
|
|
|
t.Run(
|
|
"with env var", func(t *testing.T) {
|
|
wd, _ := os.Getwd()
|
|
t.Setenv("YUTU_ROOT", wd)
|
|
initRootDir()
|
|
if *RootDir != wd {
|
|
t.Errorf("expected %s, got %s", wd, *RootDir)
|
|
}
|
|
if Root == nil {
|
|
t.Error("Root is nil")
|
|
}
|
|
},
|
|
)
|
|
|
|
t.Run(
|
|
"without env var", func(t *testing.T) {
|
|
_ = os.Unsetenv("YUTU_ROOT")
|
|
initRootDir()
|
|
if RootDir == nil {
|
|
t.Error("RootDir is nil")
|
|
}
|
|
// Should fallback to CWD
|
|
wd, _ := os.Getwd()
|
|
if *RootDir != wd {
|
|
t.Errorf("expected %s, got %s", wd, *RootDir)
|
|
}
|
|
},
|
|
)
|
|
}
|