mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 21:04:31 +00:00
test(perf): replace relay fixed sleeps with condition waits
This commit is contained in:
@@ -378,14 +378,10 @@ describe("chrome extension relay server", () => {
|
|||||||
const ext1Closed = waitForClose(ext1, 2_000);
|
const ext1Closed = waitForClose(ext1, 2_000);
|
||||||
ext1.close();
|
ext1.close();
|
||||||
await ext1Closed;
|
await ext1Closed;
|
||||||
|
|
||||||
await new Promise((r) => setTimeout(r, 80));
|
|
||||||
const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, {
|
const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, {
|
||||||
headers: relayAuthHeaders(`ws://127.0.0.1:${port}/extension`),
|
headers: relayAuthHeaders(`ws://127.0.0.1:${port}/extension`),
|
||||||
});
|
});
|
||||||
await waitForOpen(ext2);
|
await waitForOpen(ext2);
|
||||||
|
|
||||||
await new Promise((r) => setTimeout(r, 80));
|
|
||||||
expect(cdpClosed).toBe(false);
|
expect(cdpClosed).toBe(false);
|
||||||
|
|
||||||
cdp.close();
|
cdp.close();
|
||||||
@@ -480,7 +476,7 @@ describe("chrome extension relay server", () => {
|
|||||||
await ext1Closed;
|
await ext1Closed;
|
||||||
|
|
||||||
cdp.send(JSON.stringify({ id: 41, method: "Runtime.enable" }));
|
cdp.send(JSON.stringify({ id: 41, method: "Runtime.enable" }));
|
||||||
await new Promise((r) => setTimeout(r, 80));
|
await new Promise((r) => setTimeout(r, 30));
|
||||||
|
|
||||||
const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, {
|
const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, {
|
||||||
headers: relayAuthHeaders(`ws://127.0.0.1:${port}/extension`),
|
headers: relayAuthHeaders(`ws://127.0.0.1:${port}/extension`),
|
||||||
@@ -561,12 +557,17 @@ describe("chrome extension relay server", () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
ext.close();
|
ext.close();
|
||||||
await new Promise((r) => setTimeout(r, 170));
|
await expect
|
||||||
|
.poll(
|
||||||
const version = (await fetch(`${cdpUrl}/json/version`, {
|
async () => {
|
||||||
headers: relayAuthHeaders(cdpUrl),
|
const version = (await fetch(`${cdpUrl}/json/version`, {
|
||||||
}).then((r) => r.json())) as { webSocketDebuggerUrl?: string };
|
headers: relayAuthHeaders(cdpUrl),
|
||||||
expect(version.webSocketDebuggerUrl).toBeUndefined();
|
}).then((r) => r.json())) as { webSocketDebuggerUrl?: string };
|
||||||
|
return version.webSocketDebuggerUrl === undefined;
|
||||||
|
},
|
||||||
|
{ timeout: 800, interval: 20 },
|
||||||
|
)
|
||||||
|
.toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("accepts extension websocket access with relay token query param", async () => {
|
it("accepts extension websocket access with relay token query param", async () => {
|
||||||
@@ -1019,12 +1020,13 @@ describe("chrome extension relay server", () => {
|
|||||||
const ext1Closed = waitForClose(ext1, 2_000);
|
const ext1Closed = waitForClose(ext1, 2_000);
|
||||||
ext1.close();
|
ext1.close();
|
||||||
await ext1Closed;
|
await ext1Closed;
|
||||||
await new Promise((r) => setTimeout(r, 260));
|
await waitForListMatch(
|
||||||
|
async () =>
|
||||||
const listEmpty = (await fetch(`${cdpUrl}/json/list`, {
|
(await fetch(`${cdpUrl}/json/list`, {
|
||||||
headers: relayAuthHeaders(cdpUrl),
|
headers: relayAuthHeaders(cdpUrl),
|
||||||
}).then((r) => r.json())) as Array<{ id?: string }>;
|
}).then((r) => r.json())) as Array<{ id?: string }>,
|
||||||
expect(listEmpty.length).toBe(0);
|
(list) => list.length === 0,
|
||||||
|
);
|
||||||
|
|
||||||
// Reconnect and re-announce the same tab (simulates reannounceAttachedTabs).
|
// Reconnect and re-announce the same tab (simulates reannounceAttachedTabs).
|
||||||
const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, {
|
const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, {
|
||||||
@@ -1103,7 +1105,6 @@ describe("chrome extension relay server", () => {
|
|||||||
const ext1Closed = waitForClose(ext1, 2_000);
|
const ext1Closed = waitForClose(ext1, 2_000);
|
||||||
ext1.close();
|
ext1.close();
|
||||||
await ext1Closed;
|
await ext1Closed;
|
||||||
await new Promise((r) => setTimeout(r, 25));
|
|
||||||
|
|
||||||
// Tab should still be listed during grace period.
|
// Tab should still be listed during grace period.
|
||||||
const listDuringGrace = (await fetch(`${cdpUrl}/json/list`, {
|
const listDuringGrace = (await fetch(`${cdpUrl}/json/list`, {
|
||||||
|
|||||||
Reference in New Issue
Block a user