Files
go-sip/cmd/sip-go-agent/agent_recovery_logging_test.go
T

31 lines
1.2 KiB
Go

package main
import (
"bytes"
"errors"
"log/slog"
"strings"
"testing"
"git.ipao.vip/rogee/go-sip/internal/logging"
)
func TestRecoveryFailureIncludesActualCauseIdentityWithoutSecrets(t *testing.T) {
prior := slog.Default()
defer slog.SetDefault(prior)
var out bytes.Buffer
logging.Configure("agent", false, &out)
logRecoveryError("upload_grant", "event-log", errors.New("grant denied: https://oss.test/object?Signature=private-key; Bearer private-token; api_key=\"private-quoted\"; {\"prompt\":\"private-prompt\",\"transcript\":[\"private-transcript\"],\"messages\":[{\"content\":\"private-dialogue\"}]}"), "tenant_id", 1, "dispatcher_id", "dispatcher-log", "upload_id", "upload-log", "attempts", 2)
text := out.String()
for _, part := range []string{"grant denied", "upload_grant", "event-log", "dispatcher-log", "upload-log", `"attempts":2`} {
if !strings.Contains(text, part) {
t.Fatalf("missing %s: %s", part, text)
}
}
for _, secret := range []string{"private-key", "private-token", "private-quoted", "private-prompt", "private-transcript", "private-dialogue"} {
if strings.Contains(text, secret) {
t.Fatalf("leaked %s: %s", secret, text)
}
}
}