template/pkg/logger/logger_test.go
djmil 2ed3eaac9e pkg/logger: io.Writer injection, Flush(), -log-dump flag
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 19:31:20 +00:00

59 lines
1.1 KiB
Go

package logger_test
import (
"testing"
"gitea.djmil.dev/go/template/pkg/logger"
"gitea.djmil.dev/go/template/pkg/testutil"
)
func TestNewCLI(t *testing.T) {
tests := []struct {
level string
wantErr bool
}{
{level: "debug"},
{level: "info"},
{level: "warn"},
{level: "error"},
{level: "invalid", wantErr: true},
{level: "", wantErr: true},
}
for _, tc := range tests {
t.Run(tc.level, func(t *testing.T) {
// In tests stderr is not a terminal — NewCLI uses JSON path.
r := logger.NewCLI(tc.level, nil)
if tc.wantErr {
testutil.ResultErr(t, r)
return
}
testutil.ResultOkNotNil(t, r)
})
}
}
func TestNew(t *testing.T) {
tests := []struct {
level string
wantErr bool
}{
{level: "debug"},
{level: "info"},
{level: "warn"},
{level: "error"},
{level: "invalid", wantErr: true},
{level: "", wantErr: true},
}
for _, tc := range tests {
t.Run(tc.level, func(t *testing.T) {
r := logger.New(tc.level)
if tc.wantErr {
testutil.ResultErr(t, r)
return
}
testutil.ResultOkNotNil(t, r)
})
}
}