mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 19:24:31 +00:00
test(browser): tighten relay test watchdog timeouts
This commit is contained in:
@@ -9,6 +9,10 @@ import {
|
|||||||
} from "./extension-relay.js";
|
} from "./extension-relay.js";
|
||||||
import { getFreePort } from "./test-port.js";
|
import { getFreePort } from "./test-port.js";
|
||||||
|
|
||||||
|
const RELAY_MESSAGE_TIMEOUT_MS = 2_000;
|
||||||
|
const RELAY_LIST_MATCH_TIMEOUT_MS = 1_500;
|
||||||
|
const RELAY_TEST_TIMEOUT_MS = 10_000;
|
||||||
|
|
||||||
function waitForOpen(ws: WebSocket) {
|
function waitForOpen(ws: WebSocket) {
|
||||||
return new Promise<void>((resolve, reject) => {
|
return new Promise<void>((resolve, reject) => {
|
||||||
ws.once("open", () => resolve());
|
ws.once("open", () => resolve());
|
||||||
@@ -81,7 +85,7 @@ function createMessageQueue(ws: WebSocket) {
|
|||||||
reject(err instanceof Error ? err : new Error(String(err)));
|
reject(err instanceof Error ? err : new Error(String(err)));
|
||||||
});
|
});
|
||||||
|
|
||||||
const next = (timeoutMs = 5000) =>
|
const next = (timeoutMs = RELAY_MESSAGE_TIMEOUT_MS) =>
|
||||||
new Promise<string>((resolve, reject) => {
|
new Promise<string>((resolve, reject) => {
|
||||||
const existing = queue.shift();
|
const existing = queue.shift();
|
||||||
if (existing !== undefined) {
|
if (existing !== undefined) {
|
||||||
@@ -103,7 +107,7 @@ function createMessageQueue(ws: WebSocket) {
|
|||||||
async function waitForListMatch<T>(
|
async function waitForListMatch<T>(
|
||||||
fetchList: () => Promise<T>,
|
fetchList: () => Promise<T>,
|
||||||
predicate: (value: T) => boolean,
|
predicate: (value: T) => boolean,
|
||||||
timeoutMs = 2000,
|
timeoutMs = RELAY_LIST_MATCH_TIMEOUT_MS,
|
||||||
intervalMs = 50,
|
intervalMs = 50,
|
||||||
): Promise<T> {
|
): Promise<T> {
|
||||||
let latest: T | undefined;
|
let latest: T | undefined;
|
||||||
@@ -217,7 +221,9 @@ describe("chrome extension relay server", () => {
|
|||||||
ext.close();
|
ext.close();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("tracks attached page targets and exposes them via CDP + /json/list", async () => {
|
it(
|
||||||
|
"tracks attached page targets and exposes them via CDP + /json/list",
|
||||||
|
async () => {
|
||||||
const port = await getFreePort();
|
const port = await getFreePort();
|
||||||
cdpUrl = `http://127.0.0.1:${port}`;
|
cdpUrl = `http://127.0.0.1:${port}`;
|
||||||
await ensureChromeExtensionRelayServer({ cdpUrl });
|
await ensureChromeExtensionRelayServer({ cdpUrl });
|
||||||
@@ -286,7 +292,9 @@ describe("chrome extension relay server", () => {
|
|||||||
(list) =>
|
(list) =>
|
||||||
list.some(
|
list.some(
|
||||||
(t) =>
|
(t) =>
|
||||||
t.id === "t1" && t.url === "https://www.derstandard.at/" && t.title === "DER STANDARD",
|
t.id === "t1" &&
|
||||||
|
t.url === "https://www.derstandard.at/" &&
|
||||||
|
t.title === "DER STANDARD",
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
expect(
|
expect(
|
||||||
@@ -333,7 +341,9 @@ describe("chrome extension relay server", () => {
|
|||||||
|
|
||||||
cdp.close();
|
cdp.close();
|
||||||
ext.close();
|
ext.close();
|
||||||
}, 15_000);
|
},
|
||||||
|
RELAY_TEST_TIMEOUT_MS,
|
||||||
|
);
|
||||||
|
|
||||||
it("rebroadcasts attach when a session id is reused for a new target", async () => {
|
it("rebroadcasts attach when a session id is reused for a new target", async () => {
|
||||||
const port = await getFreePort();
|
const port = await getFreePort();
|
||||||
|
|||||||
Reference in New Issue
Block a user