1
0
forked from baron/baron-sso
Files
baron-sso/backend/internal/logger/logger_test.go
chan 31d107ff2e feat(user): support fixed UUID registration and enhance bulk import results
- Added support for fixed UUIDs during bulk registration (Search-first + ExternalID mapping)
- Implemented idempotency and visibility restoration for soft-deleted users
- Enhanced bulk upload UI to show 'New/Updated/Unchanged' status and modified fields
- Added logic to reclaim identifiers (login_id) from colliding records
- Added frontend E2E and backend unit tests for UUID integrity and conflict handling
- Fixed i18n, formatting, and mock tests to satisfy code-check
- Applied 'go fix' for 'omitzero' tags and general Go standards
2026-06-01 15:34:08 +09:00

69 lines
1.6 KiB
Go

package logger
import (
"bytes"
"log/slog"
"strings"
"testing"
)
func TestResolveBackendLogLevel_DefaultsByAppEnv(t *testing.T) {
t.Parallel()
testCases := []struct {
name string
appEnv string
wantLevel slog.Level
}{
{name: "dev uses debug", appEnv: "dev", wantLevel: slog.LevelDebug},
{name: "local uses debug", appEnv: "local", wantLevel: slog.LevelDebug},
{name: "development uses debug", appEnv: "development", wantLevel: slog.LevelDebug},
{name: "stage uses info", appEnv: "stage", wantLevel: slog.LevelInfo},
{name: "production uses info", appEnv: "production", wantLevel: slog.LevelInfo},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
t.Parallel()
got := ResolveBackendLogLevel(tc.appEnv, "")
if got != tc.wantLevel {
t.Fatalf("expected level %v, got %v", tc.wantLevel, got)
}
})
}
}
func TestResolveBackendLogLevel_OverrideWins(t *testing.T) {
t.Parallel()
got := ResolveBackendLogLevel("production", "debug")
if got != slog.LevelDebug {
t.Fatalf("expected debug override, got %v", got)
}
got = ResolveBackendLogLevel("dev", "warn")
if got != slog.LevelWarn {
t.Fatalf("expected warn override, got %v", got)
}
}
func TestInit_UsesResolvedBackendLogLevel(t *testing.T) {
var buf bytes.Buffer
previous := slog.Default()
defer slog.SetDefault(previous)
Init(Config{
ServiceName: "baron-sso",
Environment: "stage",
LevelOverride: "debug",
Output: &buf,
})
slog.Debug("debug message should be visible")
if !strings.Contains(buf.String(), "debug message should be visible") {
t.Fatalf("expected debug log to be written, got=%s", buf.String())
}
}