Files
chorus/internal/core/queue/sanitize_test.go
T

27 lines
865 B
Go

package queue
import (
"strings"
"testing"
)
func TestSanitizeErrorMessage(t *testing.T) {
message := "Authorization: Bearer-secret\r\n api_key=topsecret token=abc password=hunter2 https://example.test/path?X-Amz-Signature=signed 请求失败"
got := SanitizeErrorMessage(message, 90)
for _, secret := range []string{"Bearer-secret", "topsecret", "abc", "hunter2", "X-Amz-Signature", "signed", "\r", "\n"} {
if strings.Contains(got, secret) {
t.Fatalf("SanitizeErrorMessage() leaked %q in %q", secret, got)
}
}
if len(got) > 90 {
t.Fatalf("SanitizeErrorMessage() length = %d", len(got))
}
}
func TestSanitizeErrorMessageKeepsValidUTF8WhenTruncated(t *testing.T) {
got := SanitizeErrorMessage(strings.Repeat("中", 20), 10)
if !strings.HasPrefix(strings.Repeat("中", 20), got) || len(got) > 10 {
t.Fatalf("truncated message = %q", got)
}
}