cli/pkg/cli/log_test.go
Virgil 419e7f745b
All checks were successful
Security Scan / security (push) Successful in 19s
feat(cli): add formatted security log helper
2026-04-02 04:47:42 +00:00

48 lines
1 KiB
Go

package cli
import (
"bytes"
"strings"
"testing"
"forge.lthn.ai/core/go-log"
)
func TestLogSecurity_Good(t *testing.T) {
var buf bytes.Buffer
original := log.Default()
t.Cleanup(func() {
log.SetDefault(original)
})
logger := log.New(log.Options{Level: log.LevelDebug, Output: &buf})
log.SetDefault(logger)
LogSecurity("login attempt", "user", "admin")
out := buf.String()
if !strings.Contains(out, "login attempt") {
t.Fatalf("expected security log message, got %q", out)
}
if !strings.Contains(out, "user") {
t.Fatalf("expected structured key/value output, got %q", out)
}
}
func TestLogSecurityf_Good(t *testing.T) {
var buf bytes.Buffer
original := log.Default()
t.Cleanup(func() {
log.SetDefault(original)
})
logger := log.New(log.Options{Level: log.LevelDebug, Output: &buf})
log.SetDefault(logger)
LogSecurityf("login attempt from %s", "admin")
out := buf.String()
if !strings.Contains(out, "login attempt from admin") {
t.Fatalf("expected formatted security log message, got %q", out)
}
}