package logger import ( "context" "testing" log "github.com/sirupsen/logrus" ) func TestNewLogger(t *testing.T) { logger := NewLogger(log.InfoLevel) if logger == nil { t.Fatal("Expected logger to be non-nil") } if logger.GetLevel() != log.InfoLevel { t.Errorf("Expected log level %v, got %v", log.InfoLevel, logger.GetLevel()) } } func TestNewContextAndFromContext(t *testing.T) { baseCtx := context.Background() logger := NewLogger(log.WarnLevel) ctx := NewContext(baseCtx, logger) l := FromContext(ctx) if l == nil { t.Fatal("Expected logger from context to be non-nil") } if l.GetLevel() != log.WarnLevel { t.Errorf("Expected log level %v, got %v", log.WarnLevel, l.GetLevel()) } } func TestFromContext_NoLogger(t *testing.T) { ctx := context.Background() l := FromContext(ctx) if l != nil { t.Error("Expected nil when no logger in context") } } func TestLoggerMethods(t *testing.T) { logger := NewLogger(log.DebugLevel) logger.Info("Test info") logger.Error("Test error") logger.Debug("Test debug") logger.Warn("Test warn") // Check if the logger methods work without errors if logger.GetLevel() != log.DebugLevel { t.Errorf("Expected log level %v, got %v", log.DebugLevel, logger.GetLevel()) } }