From 3ec275f0b51ebcac6c10b070e0812534c39a558a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 14 Feb 2026 23:25:33 +0000 Subject: [PATCH] perf(test): consolidate inbound access-control suites --- .../inbound/access-control.pairing.test.ts | 65 ------------------- ...-policy.test.ts => access-control.test.ts} | 57 ++++++++++++++-- 2 files changed, 51 insertions(+), 71 deletions(-) delete mode 100644 src/web/inbound/access-control.pairing.test.ts rename src/web/inbound/{access-control.dm-policy.test.ts => access-control.test.ts} (58%) diff --git a/src/web/inbound/access-control.pairing.test.ts b/src/web/inbound/access-control.pairing.test.ts deleted file mode 100644 index 43a3a1e1c5b..00000000000 --- a/src/web/inbound/access-control.pairing.test.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { beforeEach, describe, expect, it } from "vitest"; -import { - sendMessageMock, - setupAccessControlTestHarness, - upsertPairingRequestMock, -} from "./access-control.test-harness.js"; - -type CheckInboundAccessControl = typeof import("./access-control.js").checkInboundAccessControl; -let checkInboundAccessControl: CheckInboundAccessControl; - -setupAccessControlTestHarness(); - -beforeEach(async () => { - ({ checkInboundAccessControl } = await import("./access-control.js")); -}); - -describe("checkInboundAccessControl", () => { - it("suppresses pairing replies for historical DMs on connect", async () => { - const connectedAtMs = 1_000_000; - const messageTimestampMs = connectedAtMs - 31_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", - }); - - expect(result.allowed).toBe(false); - expect(upsertPairingRequestMock).not.toHaveBeenCalled(); - expect(sendMessageMock).not.toHaveBeenCalled(); - }); - - 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", - }); - - expect(result.allowed).toBe(false); - expect(upsertPairingRequestMock).toHaveBeenCalled(); - expect(sendMessageMock).toHaveBeenCalled(); - }); -}); diff --git a/src/web/inbound/access-control.dm-policy.test.ts b/src/web/inbound/access-control.test.ts similarity index 58% rename from src/web/inbound/access-control.dm-policy.test.ts rename to src/web/inbound/access-control.test.ts index aba332634d7..c411f673237 100644 --- a/src/web/inbound/access-control.dm-policy.test.ts +++ b/src/web/inbound/access-control.test.ts @@ -1,4 +1,4 @@ -import { beforeEach, describe, expect, it } from "vitest"; +import { describe, expect, it } from "vitest"; import { sendMessageMock, setAccessControlTestConfig, @@ -6,13 +6,58 @@ import { upsertPairingRequestMock, } from "./access-control.test-harness.js"; -type CheckInboundAccessControl = typeof import("./access-control.js").checkInboundAccessControl; -let checkInboundAccessControl: CheckInboundAccessControl; - setupAccessControlTestHarness(); -beforeEach(async () => { - ({ checkInboundAccessControl } = await import("./access-control.js")); +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; + + 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", + }); + + expect(result.allowed).toBe(false); + expect(upsertPairingRequestMock).not.toHaveBeenCalled(); + expect(sendMessageMock).not.toHaveBeenCalled(); + }); + + 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", + }); + + expect(result.allowed).toBe(false); + expect(upsertPairingRequestMock).toHaveBeenCalled(); + expect(sendMessageMock).toHaveBeenCalled(); + }); }); describe("WhatsApp dmPolicy precedence", () => {