You've already forked Go-Template
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
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())
|
|
}
|
|
}
|