function assert(condition: unknown, message = "assertion failed"): void { if (!condition) throw new Error(message); } function assertEqual(actual: T, expected: T, message = "values should be equal"): void { if (actual !== expected) throw new Error(`${message}: expected ${String(expected)}, got ${String(actual)}`); } function assertDeepEqual(actual: unknown, expected: unknown, message = "values should be deeply equal"): void { const actualJson = JSON.stringify(actual); const expectedJson = JSON.stringify(expected); if (actualJson !== expectedJson) throw new Error(`${message}: expected ${expectedJson}, got ${actualJson}`); } import { mailPolicyValueAllowed, validateMailPolicy, wildcardPatternMatches } from "../src/features/mail/mailPolicyValidation"; assertEqual(wildcardPatternMatches("*.example.org", "smtp.example.org"), true); assertEqual(wildcardPatternMatches("smtp?.example.org", "smtp1.example.org"), true); assertEqual(wildcardPatternMatches("smtp?.example.org", "smtp12.example.org"), false); const policy = { whitelist: { smtp_hosts: ["smtp.allowed.test"], from_headers: ["*@allowed.test"], recipient_domains: ["allowed.test"] }, blacklist: { smtp_hosts: ["smtp.blocked.test"], envelope_senders: ["blocked@*"] } }; assertDeepEqual(mailPolicyValueAllowed(policy, "smtp_hosts", "smtp.allowed.test"), { allowed: true, value: "smtp.allowed.test" }); assertEqual(mailPolicyValueAllowed(policy, "smtp_hosts", "smtp.blocked.test").allowed, false, "blacklist wins for SMTP host"); assertEqual(mailPolicyValueAllowed(policy, "smtp_hosts", "smtp.other.test").allowed, false, "whitelist blocks unknown SMTP host"); const messages = validateMailPolicy(policy, { smtpHost: "smtp.other.test", envelopeSender: "blocked@allowed.test", fromHeader: "sender@other.test", recipientDomains: ["allowed.test", "denied.test", "user@denied.test"] }); assert(messages.some((item) => item.key === "smtp_hosts" && item.value === "smtp.other.test")); assert(messages.some((item) => item.key === "envelope_senders" && item.value === "blocked@allowed.test")); assert(messages.some((item) => item.key === "from_headers" && item.value === "sender@other.test")); assertEqual(messages.filter((item) => item.key === "recipient_domains" && item.value === "denied.test").length, 1, "recipient domains are normalized and de-duplicated");