~bigbes/lethe

ref: 57c0d49169c3d3cdc6da22b536fb19a4e1433a16 lethe/cmd/lethe-collector/main_test.go -rw-r--r-- 1.1 KiB
57c0d491 — Eugene Blikh collector: persist skipped-only parser progress 24 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main

import (
	"log/slog"
	"testing"
)

func TestBuildLogger_ValidLevels(t *testing.T) {
	for _, level := range []string{"debug", "info", "warn", "error"} {
		for _, format := range []string{"tint", "json", "human"} {
			logger, err := buildLogger(level, format)
			if err != nil {
				t.Fatalf("buildLogger(%q, %q) unexpected error: %v", level, format, err)
			}
			if logger == nil {
				t.Fatalf("buildLogger(%q, %q) returned nil logger", level, format)
			}
		}
	}
}

func TestBuildLogger_InvalidLevel(t *testing.T) {
	_, err := buildLogger("fatal", "json")
	if err == nil {
		t.Fatal("expected error for invalid level")
	}
}

func TestBuildLogger_InvalidFormat(t *testing.T) {
	_, err := buildLogger("info", "xml")
	if err == nil {
		t.Fatal("expected error for invalid format")
	}
}

func TestBuildLogger_LevelEnforced(t *testing.T) {
	logger, err := buildLogger("error", "human")
	if err != nil {
		t.Fatalf("unexpected error: %v", err)
	}
	if logger.Enabled(nil, slog.LevelInfo) {
		t.Fatal("error-level logger should not enable info")
	}
	if !logger.Enabled(nil, slog.LevelError) {
		t.Fatal("error-level logger should enable error")
	}
}