import { describe, expect, it } from "vitest"; import { Logger } from "../logger"; describe("Logger Stripe secret redaction", () => { it("redacts nested Stripe secret fields and values before formatting", () => { const output = Logger.formatValue({ payParams: { clientSecret: "pi_123_secret_card", nested: { customerSessionClientSecret: "cuss_123_secret_saved", handoffToken: "one-time-checkout-token", safe: "order-123", }, }, }); expect(output).toContain("order-123"); expect(output).not.toContain("secret_card"); expect(output).not.toContain("secret_saved"); expect(output).not.toContain("one-time-checkout-token"); expect(output.match(/\[REDACTED\]/g)?.length).toBeGreaterThanOrEqual(3); }); it("redacts a secret embedded in a serialized response string", () => { const output = Logger.formatValue( JSON.stringify({ customerSessionClientSecret: "cuss_1_secret_value" }), ); expect(output).not.toContain("secret_value"); expect(output).toContain("[REDACTED]"); }); });