iop/packages/go/agentprovider/catalog/redact_test.go

31 lines
720 B
Go

package catalog
import (
"strings"
"testing"
)
func TestRedactRemovesCredentialAndIdentityPatterns(t *testing.T) {
raw := strings.Join([]string{
"Authorization: Bearer header-secret",
"api_key=key-secret",
"access-token: token-secret",
"refresh_token='refresh-secret'",
"account@example.com",
}, "\n")
redacted := Redact(raw)
for _, secret := range []string{
"header-secret",
"key-secret",
"token-secret",
"refresh-secret",
"account@example.com",
} {
if strings.Contains(redacted, secret) {
t.Fatalf("Redact leaked %q in %q", secret, redacted)
}
}
if count := strings.Count(redacted, "[REDACTED]"); count != 4 {
t.Fatalf("redaction count = %d, output = %q", count, redacted)
}
}