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