Files
descrybe/apps/api/internal/email/unsub_service_test.go
T

39 lines
867 B
Go
Raw Normal View History

package email
import (
"encoding/json"
"strings"
"testing"
)
func TestUnsubscribeInfoOmitsTenantPII(t *testing.T) {
t.Parallel()
info := UnsubscribeInfo{
OK: true,
AlreadyDone: true,
Message: "already unsubscribed",
}
b, err := json.Marshal(info)
if err != nil {
t.Fatal(err)
}
raw := string(b)
for _, leak := range []string{"company_id", "email"} {
if strings.Contains(raw, leak) {
t.Fatalf("public unsubscribe JSON must not include %q: %s", leak, raw)
}
}
}
func TestClampUnsubscribeReason(t *testing.T) {
t.Parallel()
long := strings.Repeat("a", maxUnsubscribeReasonLen+50)
got := clampUnsubscribeReason(long)
if len(got) != maxUnsubscribeReasonLen {
t.Fatalf("len=%d want %d", len(got), maxUnsubscribeReasonLen)
}
if got := clampUnsubscribeReason(" ok "); got != "ok" {
t.Fatalf("trim failed: %q", got)
}
}