test: reclassify gateway local suites from e2e

This commit is contained in:
Peter Steinberger
2026-02-22 11:48:46 +00:00
parent 62ddc1ef7a
commit aa14835607
13 changed files with 25 additions and 2 deletions

View File

@@ -18,6 +18,7 @@ import {
rpcReq,
startServerWithClient,
testState,
trackConnectChallengeNonce,
withGatewayServer,
writeSessionStore,
} from "./test-helpers.js";
@@ -341,6 +342,7 @@ describe("gateway server agent", () => {
await withGatewayServer(async ({ port }) => {
const dial = async () => {
const ws = new WebSocket(`ws://127.0.0.1:${port}`);
trackConnectChallengeNonce(ws);
await new Promise<void>((resolve) => ws.once("open", resolve));
await connectOk(ws);
return ws;

View File

@@ -12,6 +12,7 @@ import {
onceMessage,
rpcReq,
testState,
trackConnectChallengeNonce,
writeSessionStore,
} from "./test-helpers.js";
import { agentCommand } from "./test-helpers.mocks.js";
@@ -78,6 +79,7 @@ describe("gateway server chat", () => {
webchatWs = new WebSocket(`ws://127.0.0.1:${port}`, {
headers: { origin: `http://127.0.0.1:${port}` },
});
trackConnectChallengeNonce(webchatWs);
await new Promise<void>((resolve) => webchatWs?.once("open", resolve));
await connectOk(webchatWs, {
client: {
@@ -361,6 +363,7 @@ describe("gateway server chat", () => {
const webchatWs = new WebSocket(`ws://127.0.0.1:${port}`, {
headers: { origin: `http://127.0.0.1:${port}` },
});
trackConnectChallengeNonce(webchatWs);
await new Promise<void>((resolve) => webchatWs.once("open", resolve));
await connectOk(webchatWs, {
client: {

View File

@@ -6,6 +6,7 @@ import {
installGatewayTestHooks,
onceMessage,
startGatewayServer,
trackConnectChallengeNonce,
} from "./test-helpers.js";
installGatewayTestHooks({ scope: "suite" });
@@ -24,6 +25,7 @@ afterAll(async () => {
const openClient = async () => {
const ws = new WebSocket(`ws://127.0.0.1:${port}`);
trackConnectChallengeNonce(ws);
await new Promise<void>((resolve) => ws.once("open", resolve));
await connectOk(ws);
return ws;

View File

@@ -1,6 +1,11 @@
import { WebSocket } from "ws";
import { captureEnv } from "../test-utils/env.js";
import { connectOk, getFreePort, startGatewayServer } from "./test-helpers.js";
import {
connectOk,
getFreePort,
startGatewayServer,
trackConnectChallengeNonce,
} from "./test-helpers.js";
export type GatewayWsClient = {
ws: WebSocket;
@@ -22,6 +27,7 @@ export async function startGatewayServerHarness(): Promise<GatewayServerHarness>
const openClient = async (opts?: Parameters<typeof connectOk>[1]): Promise<GatewayWsClient> => {
const ws = new WebSocket(`ws://127.0.0.1:${port}`);
trackConnectChallengeNonce(ws);
await new Promise<void>((resolve) => ws.once("open", resolve));
const hello = await connectOk(ws, opts);
return { ws, hello };

View File

@@ -26,6 +26,7 @@ import {
startServerWithClient,
testState,
testTailnetIPv4,
trackConnectChallengeNonce,
} from "./test-helpers.js";
installGatewayTestHooks({ scope: "suite" });
@@ -134,6 +135,7 @@ describe("gateway server models + voicewake", () => {
test("pushes voicewake.changed to nodes on connect and on updates", async () => {
await withTempHome(async () => {
const nodeWs = new WebSocket(`ws://127.0.0.1:${port}`);
trackConnectChallengeNonce(nodeWs);
await new Promise<void>((resolve) => nodeWs.once("open", resolve));
const firstEventP = onceMessage(
nodeWs,
@@ -389,7 +391,12 @@ describe("gateway server misc", () => {
type: "req",
id,
method: "send",
params: { to: "+15550000000", message: "hi", idempotencyKey: idem },
params: {
to: "+15550000000",
channel: "whatsapp",
message: "hi",
idempotencyKey: idem,
},
}),
);
sendReq("a1");

View File

@@ -14,6 +14,7 @@ import {
piSdkMock,
rpcReq,
testState,
trackConnectChallengeNonce,
writeSessionStore,
} from "./test-helpers.js";
@@ -1063,6 +1064,7 @@ describe("gateway server sessions", () => {
const ws = new WebSocket(`ws://127.0.0.1:${harness.port}`, {
headers: { origin: `http://127.0.0.1:${harness.port}` },
});
trackConnectChallengeNonce(ws);
await new Promise<void>((resolve) => ws.once("open", resolve));
await connectOk(ws, {
client: {

View File

@@ -585,6 +585,7 @@ export async function connectWebchatClient(params: {
const ws = new WebSocket(`ws://127.0.0.1:${params.port}`, {
headers: { origin },
});
trackConnectChallengeNonce(ws);
await new Promise<void>((resolve, reject) => {
const timer = setTimeout(() => reject(new Error("timeout waiting for ws open")), 10_000);
const onOpen = () => {