mirror of
https://github.com/DeBrosOfficial/orama.git
synced 2026-03-17 18:36:57 +00:00
219 lines
5.5 KiB
Go
219 lines
5.5 KiB
Go
package logging
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestNewColoredLoggerReturnsNonNil(t *testing.T) {
|
|
logger, err := NewColoredLogger(ComponentGeneral, true)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
if logger == nil {
|
|
t.Fatal("expected non-nil logger")
|
|
}
|
|
}
|
|
|
|
func TestNewColoredLoggerNoColors(t *testing.T) {
|
|
logger, err := NewColoredLogger(ComponentNode, false)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
if logger == nil {
|
|
t.Fatal("expected non-nil logger")
|
|
}
|
|
}
|
|
|
|
func TestNewColoredLoggerAllComponents(t *testing.T) {
|
|
components := []Component{
|
|
ComponentNode,
|
|
ComponentRQLite,
|
|
ComponentLibP2P,
|
|
ComponentStorage,
|
|
ComponentDatabase,
|
|
ComponentClient,
|
|
ComponentGeneral,
|
|
ComponentAnyone,
|
|
ComponentGateway,
|
|
}
|
|
|
|
for _, comp := range components {
|
|
t.Run(string(comp), func(t *testing.T) {
|
|
logger, err := NewColoredLogger(comp, true)
|
|
if err != nil {
|
|
t.Fatalf("expected no error for component %s, got: %v", comp, err)
|
|
}
|
|
if logger == nil {
|
|
t.Fatalf("expected non-nil logger for component %s", comp)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestNewColoredLoggerCanLog(t *testing.T) {
|
|
logger, err := NewColoredLogger(ComponentGeneral, false)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
// These should not panic. Output goes to stdout which is acceptable in tests.
|
|
logger.Info("test info message")
|
|
logger.Warn("test warn message")
|
|
logger.Error("test error message")
|
|
logger.Debug("test debug message")
|
|
}
|
|
|
|
func TestNewDefaultLoggerReturnsNonNil(t *testing.T) {
|
|
logger, err := NewDefaultLogger(ComponentNode)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
if logger == nil {
|
|
t.Fatal("expected non-nil logger")
|
|
}
|
|
}
|
|
|
|
func TestNewDefaultLoggerCanLog(t *testing.T) {
|
|
logger, err := NewDefaultLogger(ComponentDatabase)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
logger.Info("default logger info")
|
|
logger.Warn("default logger warn")
|
|
logger.Error("default logger error")
|
|
logger.Debug("default logger debug")
|
|
}
|
|
|
|
func TestComponentInfoDoesNotPanic(t *testing.T) {
|
|
logger, err := NewColoredLogger(ComponentNode, true)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
// Should not panic
|
|
logger.ComponentInfo(ComponentNode, "node info message")
|
|
logger.ComponentInfo(ComponentRQLite, "rqlite info message")
|
|
logger.ComponentInfo(ComponentGateway, "gateway info message")
|
|
}
|
|
|
|
func TestComponentWarnDoesNotPanic(t *testing.T) {
|
|
logger, err := NewColoredLogger(ComponentStorage, true)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
logger.ComponentWarn(ComponentStorage, "storage warning")
|
|
logger.ComponentWarn(ComponentLibP2P, "libp2p warning")
|
|
}
|
|
|
|
func TestComponentErrorDoesNotPanic(t *testing.T) {
|
|
logger, err := NewColoredLogger(ComponentDatabase, false)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
logger.ComponentError(ComponentDatabase, "database error")
|
|
logger.ComponentError(ComponentAnyone, "anyone error")
|
|
}
|
|
|
|
func TestComponentDebugDoesNotPanic(t *testing.T) {
|
|
logger, err := NewColoredLogger(ComponentClient, true)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
logger.ComponentDebug(ComponentClient, "client debug")
|
|
logger.ComponentDebug(ComponentGeneral, "general debug")
|
|
}
|
|
|
|
func TestComponentMethodsWithoutColors(t *testing.T) {
|
|
logger, err := NewColoredLogger(ComponentGateway, false)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
// All component methods with colors disabled should not panic
|
|
logger.ComponentInfo(ComponentGateway, "info no color")
|
|
logger.ComponentWarn(ComponentGateway, "warn no color")
|
|
logger.ComponentError(ComponentGateway, "error no color")
|
|
logger.ComponentDebug(ComponentGateway, "debug no color")
|
|
}
|
|
|
|
func TestStandardLoggerPrintfDoesNotPanic(t *testing.T) {
|
|
sl, err := NewStandardLogger(ComponentGeneral)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
sl.Printf("formatted message: %s %d", "hello", 42)
|
|
}
|
|
|
|
func TestStandardLoggerPrintDoesNotPanic(t *testing.T) {
|
|
sl, err := NewStandardLogger(ComponentNode)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
sl.Print("simple message")
|
|
sl.Print("multiple", " ", "args")
|
|
}
|
|
|
|
func TestStandardLoggerPrintlnDoesNotPanic(t *testing.T) {
|
|
sl, err := NewStandardLogger(ComponentRQLite)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
sl.Println("line message")
|
|
sl.Println("multiple", "args")
|
|
}
|
|
|
|
func TestStandardLoggerErrorfDoesNotPanic(t *testing.T) {
|
|
sl, err := NewStandardLogger(ComponentStorage)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
|
|
sl.Errorf("error: %s", "something went wrong")
|
|
}
|
|
|
|
func TestStandardLoggerReturnsNonNil(t *testing.T) {
|
|
sl, err := NewStandardLogger(ComponentAnyone)
|
|
if err != nil {
|
|
t.Fatalf("expected no error, got: %v", err)
|
|
}
|
|
if sl == nil {
|
|
t.Fatal("expected non-nil StandardLogger")
|
|
}
|
|
}
|
|
|
|
func TestGetComponentColorReturnsValue(t *testing.T) {
|
|
// Test all known components return a non-empty color string
|
|
components := []Component{
|
|
ComponentNode,
|
|
ComponentRQLite,
|
|
ComponentLibP2P,
|
|
ComponentStorage,
|
|
ComponentDatabase,
|
|
ComponentClient,
|
|
ComponentGeneral,
|
|
ComponentAnyone,
|
|
ComponentGateway,
|
|
}
|
|
|
|
for _, comp := range components {
|
|
color := getComponentColor(comp)
|
|
if color == "" {
|
|
t.Errorf("expected non-empty color for component %s", comp)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestGetComponentColorUnknownComponent(t *testing.T) {
|
|
color := getComponentColor(Component("UNKNOWN"))
|
|
if color != White {
|
|
t.Errorf("expected White for unknown component, got %q", color)
|
|
}
|
|
}
|