init
This commit is contained in:
57
internal/logging/logger_test.go
Normal file
57
internal/logging/logger_test.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package logging
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/any-hub/any-hub/internal/config"
|
||||
)
|
||||
|
||||
func TestConfigureDefaultsToStdout(t *testing.T) {
|
||||
logger, err := InitLogger(config.GlobalConfig{LogLevel: "info"})
|
||||
if err != nil {
|
||||
t.Fatalf("配置失败: %v", err)
|
||||
}
|
||||
if logger.Out != os.Stdout {
|
||||
t.Fatalf("未指定文件时应输出到 stdout")
|
||||
}
|
||||
}
|
||||
|
||||
func TestInitLoggerFallbackOnPermissionDenied(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
blocked := filepath.Join(dir, "blocked")
|
||||
if err := os.Mkdir(blocked, 0o755); err != nil {
|
||||
t.Fatalf("创建目录失败: %v", err)
|
||||
}
|
||||
if err := os.Chmod(blocked, 0o000); err != nil {
|
||||
t.Fatalf("设置目录权限失败: %v", err)
|
||||
}
|
||||
t.Cleanup(func() { _ = os.Chmod(blocked, 0o755) })
|
||||
|
||||
cfg := config.GlobalConfig{
|
||||
LogLevel: "info",
|
||||
LogFilePath: filepath.Join(blocked, "sub", "any-hub.log"),
|
||||
}
|
||||
logger, err := InitLogger(cfg)
|
||||
if err != nil {
|
||||
t.Fatalf("初始化不应失败: %v", err)
|
||||
}
|
||||
if logger.Out != os.Stdout {
|
||||
t.Fatalf("fallback 时应退回 stdout")
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfigureCreatesRotatingFile(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
path := filepath.Join(dir, "any-hub.log")
|
||||
cfg := config.GlobalConfig{LogLevel: "debug", LogFilePath: path}
|
||||
logger, err := InitLogger(cfg)
|
||||
if err != nil {
|
||||
t.Fatalf("配置失败: %v", err)
|
||||
}
|
||||
logger.Info("test")
|
||||
if _, err := os.Stat(path); err != nil {
|
||||
t.Fatalf("预期创建日志文件: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user