29 lines
659 B
Go
29 lines
659 B
Go
package credentials
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestReferenceFormattingRedactsSecretRef(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
reference := Reference{
|
|
SecretRef: "cred_sensitive_reference",
|
|
CredentialVersion: "v7",
|
|
}
|
|
for _, formatted := range []string{
|
|
fmt.Sprintf("%v", reference),
|
|
fmt.Sprintf("%+v", reference),
|
|
fmt.Sprintf("%#v", reference),
|
|
} {
|
|
if strings.Contains(formatted, reference.SecretRef) {
|
|
t.Fatalf("formatted Reference exposes SecretRef: %s", formatted)
|
|
}
|
|
if !strings.Contains(formatted, reference.CredentialVersion) {
|
|
t.Fatalf("formatted Reference omits non-secret version: %s", formatted)
|
|
}
|
|
}
|
|
}
|