Files
openclaw/test/scripts/gateway-network-client.test.ts
2026-05-29 19:49:13 +02:00

37 lines
1.4 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { readGatewayNetworkClientConnectTimeoutMs } from "../../scripts/e2e/lib/gateway-network/limits.mjs";
describe("gateway network WebSocket open guard", () => {
it("rejects loose client timeout env values instead of parsing prefixes", () => {
expect(() =>
readGatewayNetworkClientConnectTimeoutMs({
OPENCLAW_GATEWAY_NETWORK_CLIENT_CONNECT_TIMEOUT_MS: "100ms",
}),
).toThrow("invalid OPENCLAW_GATEWAY_NETWORK_CLIENT_CONNECT_TIMEOUT_MS: 100ms");
expect(() =>
readGatewayNetworkClientConnectTimeoutMs({
OPENCLAW_GATEWAY_NETWORK_CONNECT_READY_TIMEOUT_MS: "1e3",
}),
).toThrow("invalid OPENCLAW_GATEWAY_NETWORK_CONNECT_READY_TIMEOUT_MS: 1e3");
expect(() =>
readGatewayNetworkClientConnectTimeoutMs({
OPENCLAW_GATEWAY_NETWORK_CLIENT_CONNECT_TIMEOUT_MS: "0",
}),
).toThrow("invalid OPENCLAW_GATEWAY_NETWORK_CLIENT_CONNECT_TIMEOUT_MS: 0");
});
it("prefers the explicit client timeout over the connect-ready fallback", () => {
expect(
readGatewayNetworkClientConnectTimeoutMs({
OPENCLAW_GATEWAY_NETWORK_CLIENT_CONNECT_TIMEOUT_MS: "5000",
OPENCLAW_GATEWAY_NETWORK_CONNECT_READY_TIMEOUT_MS: "1000",
}),
).toBe(5000);
expect(
readGatewayNetworkClientConnectTimeoutMs({
OPENCLAW_GATEWAY_NETWORK_CONNECT_READY_TIMEOUT_MS: "3000",
}),
).toBe(3000);
});
});