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) } }