package logger_test import ( "testing" "go.uber.org/fx/fxtest" "sneak.berlin/go/webhooker/internal/globals" "sneak.berlin/go/webhooker/internal/logger" ) func testGlobals() *globals.Globals { return &globals.Globals{ Appname: "test-app", Version: "1.0.0", } } func TestNew(t *testing.T) { t.Parallel() lc := fxtest.NewLifecycle(t) params := logger.LoggerParams{ Globals: testGlobals(), } l, err := logger.New(lc, params) if err != nil { t.Fatalf("New() error = %v", err) } if l.Get() == nil { t.Error("Get() returned nil logger") } // Test that we can log without panic l.Get().Info("test message", "key", "value") } func TestEnableDebugLogging(t *testing.T) { t.Parallel() lc := fxtest.NewLifecycle(t) params := logger.LoggerParams{ Globals: testGlobals(), } l, err := logger.New(lc, params) if err != nil { t.Fatalf("New() error = %v", err) } // Enable debug logging should not panic l.EnableDebugLogging() // Test debug logging l.Get().Debug("debug message", "test", true) }