test: make gateway connectReq timeout configurable

This commit is contained in:
Peter Steinberger
2026-02-22 12:18:21 +00:00
parent 89e2928204
commit 3a6e0e70f6
2 changed files with 4 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ import {
installGatewayTestHooks({ scope: "suite" });
const NODE_CONNECT_TIMEOUT_MS = 3_000;
const CONNECT_REQ_TIMEOUT_MS = 2_000;
async function expectNoForwardedInvoke(hasInvoke: () => boolean): Promise<void> {
// Yield a couple of macrotasks so any accidental async forwarding would fire.
@@ -107,6 +108,7 @@ describe("node.invoke approval bypass", () => {
token: "secret",
scopes,
...(resolveDevice ? { device: resolveDevice(await nonce) } : {}),
timeoutMs: CONNECT_REQ_TIMEOUT_MS,
});
return { ws, res };
};

View File

@@ -469,6 +469,7 @@ export async function connectReq(
nonce?: string;
} | null;
skipConnectChallengeNonce?: boolean;
timeoutMs?: number;
},
): Promise<ConnectResponse> {
const { randomUUID } = await import("node:crypto");
@@ -566,7 +567,7 @@ export async function connectReq(
const rec = o as Record<string, unknown>;
return rec.type === "res" && rec.id === id;
};
return await onceMessage<ConnectResponse>(ws, isResponseForId);
return await onceMessage<ConnectResponse>(ws, isResponseForId, opts?.timeoutMs);
}
export async function connectOk(ws: WebSocket, opts?: Parameters<typeof connectReq>[1]) {