Files
Local-Cursor/internal/logger/redact_test.go

22 lines
774 B
Go
Raw Normal View History

package logger
import (
"bytes"
"errors"
"log/slog"
"strings"
"testing"
)
func TestSecretsRedactedInMessagesErrorsAttributesAndGroups(t *testing.T) {
RegisterSecrets("SENTINEL_PRIVATE_KEY")
var buffer bytes.Buffer
log := slog.New(redactingHandler{slog.NewJSONHandler(&buffer, nil)})
log.With("token", "BOUND_SECRET").Info("provider echoed SENTINEL_PRIVATE_KEY", "error", errors.New("Authorization: Bearer UNKNOWN_SECRET"), "payload", map[string]string{"config": "MAP_SECRET"}, "group", slog.GroupValue(slog.String("apiKey", "GROUP_SECRET")))
for _, secret := range []string{"SENTINEL_PRIVATE_KEY", "BOUND_SECRET", "UNKNOWN_SECRET", "MAP_SECRET", "GROUP_SECRET"} {
if strings.Contains(buffer.String(), secret) {
t.Fatalf("leaked secret %s", secret)
}
}
}