ce7cb702218693d08ea6d83464d2457c9250027c

This commit is contained in:
ms2k 2026-11-12 20:46:28 +09:00
commit 34c5f8963c

View file

@ -0,0 +1,23 @@
package main
import (
"io"
"net/http"
"strings"
"testing"
)
func TestResponseStatusErrorIncludesBoundedRedactedDetail(t *testing.T) {
secret := "synthetic-secret"
response := &http.Response{
StatusCode: http.StatusBadRequest,
Body: io.NopCloser(strings.NewReader(`{"errors":["invalid synthetic-secret"]}` + strings.Repeat("x", 8192))),
}
err := responseStatusError("synthetic request", response, secret)
if err == nil || !strings.Contains(err.Error(), "HTTP 400") || !strings.Contains(err.Error(), "[redacted]") {
t.Fatalf("error = %v", err)
}
if strings.Contains(err.Error(), secret) || len(err.Error()) > 4200 {
t.Fatalf("error is unbounded or contains a secret: %v", err)
}
}