refactor(channels): dedupe transport and gateway test scaffolds

This commit is contained in:
Peter Steinberger
2026-02-16 14:52:15 +00:00
parent f717a13039
commit 93ca0ed54f
95 changed files with 4068 additions and 5221 deletions

View File

@@ -10,12 +10,24 @@ setupAccessControlTestHarness();
const { checkInboundAccessControl } = await import("./access-control.js");
describe("checkInboundAccessControl pairing grace", () => {
it("suppresses pairing replies for historical DMs on connect", async () => {
const connectedAtMs = 1_000_000;
const messageTimestampMs = connectedAtMs - 31_000;
async function checkUnauthorizedWorkDmSender() {
return checkInboundAccessControl({
accountId: "work",
from: "+15550001111",
selfE164: "+15550009999",
senderE164: "+15550001111",
group: false,
pushName: "Stranger",
isFromMe: false,
sock: { sendMessage: sendMessageMock },
remoteJid: "15550001111@s.whatsapp.net",
});
}
const result = await checkInboundAccessControl({
describe("checkInboundAccessControl pairing grace", () => {
async function runPairingGraceCase(messageTimestampMs: number) {
const connectedAtMs = 1_000_000;
return await checkInboundAccessControl({
accountId: "default",
from: "+15550001111",
selfE164: "+15550009999",
@@ -29,6 +41,10 @@ describe("checkInboundAccessControl pairing grace", () => {
sock: { sendMessage: sendMessageMock },
remoteJid: "15550001111@s.whatsapp.net",
});
}
it("suppresses pairing replies for historical DMs on connect", async () => {
const result = await runPairingGraceCase(1_000_000 - 31_000);
expect(result.allowed).toBe(false);
expect(upsertPairingRequestMock).not.toHaveBeenCalled();
@@ -36,23 +52,7 @@ describe("checkInboundAccessControl pairing grace", () => {
});
it("sends pairing replies for live DMs", async () => {
const connectedAtMs = 1_000_000;
const messageTimestampMs = connectedAtMs - 10_000;
const result = await checkInboundAccessControl({
accountId: "default",
from: "+15550001111",
selfE164: "+15550009999",
senderE164: "+15550001111",
group: false,
pushName: "Sam",
isFromMe: false,
messageTimestampMs,
connectedAtMs,
pairingGraceMs: 30_000,
sock: { sendMessage: sendMessageMock },
remoteJid: "15550001111@s.whatsapp.net",
});
const result = await runPairingGraceCase(1_000_000 - 10_000);
expect(result.allowed).toBe(false);
expect(upsertPairingRequestMock).toHaveBeenCalled();
@@ -79,17 +79,7 @@ describe("WhatsApp dmPolicy precedence", () => {
},
});
const result = await checkInboundAccessControl({
accountId: "work",
from: "+15550001111",
selfE164: "+15550009999",
senderE164: "+15550001111",
group: false,
pushName: "Stranger",
isFromMe: false,
sock: { sendMessage: sendMessageMock },
remoteJid: "15550001111@s.whatsapp.net",
});
const result = await checkUnauthorizedWorkDmSender();
expect(result.allowed).toBe(false);
expect(upsertPairingRequestMock).not.toHaveBeenCalled();
@@ -112,17 +102,7 @@ describe("WhatsApp dmPolicy precedence", () => {
},
});
const result = await checkInboundAccessControl({
accountId: "work",
from: "+15550001111",
selfE164: "+15550009999",
senderE164: "+15550001111",
group: false,
pushName: "Stranger",
isFromMe: false,
sock: { sendMessage: sendMessageMock },
remoteJid: "15550001111@s.whatsapp.net",
});
const result = await checkUnauthorizedWorkDmSender();
expect(result.allowed).toBe(false);
expect(upsertPairingRequestMock).not.toHaveBeenCalled();