package logging import ( "os" "path/filepath" "strings" "testing" ) func TestNewSessionLogger(t *testing.T) { logger, f, err := NewSessionLogger() if err != nil { t.Fatalf("NewSessionLogger() error: %v", err) } if f != nil { defer f.Close() defer os.Remove(f.Name()) } if logger == nil { t.Fatal("logger should not be nil") } if f == nil { t.Fatal("file should not be nil") } dir := filepath.Dir(f.Name()) if !strings.Contains(dir, filepath.Join(".config", "ai-agent", "logs")) { t.Errorf("log file should be in ~/.config/ai-agent/logs/, got %q", dir) } logger.Info("test message", "key", "value") } func TestNilLoggerNoPanic(t *testing.T) { var called bool logger, f, err := NewSessionLogger() if err == nil && f != nil { defer f.Close() defer os.Remove(f.Name()) logger.Info("test") called = true } _ = called }