test(perf): replace relay fixed sleeps with condition waits

This commit is contained in:
Peter Steinberger
2026-03-02 17:55:47 +00:00
parent 8ae8056622
commit 0ebe0480fa

View File

@@ -378,14 +378,10 @@ describe("chrome extension relay server", () => {
const ext1Closed = waitForClose(ext1, 2_000);
ext1.close();
await ext1Closed;
await new Promise((r) => setTimeout(r, 80));
const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, {
headers: relayAuthHeaders(`ws://127.0.0.1:${port}/extension`),
});
await waitForOpen(ext2);
await new Promise((r) => setTimeout(r, 80));
expect(cdpClosed).toBe(false);
cdp.close();
@@ -480,7 +476,7 @@ describe("chrome extension relay server", () => {
await ext1Closed;
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`, {
headers: relayAuthHeaders(`ws://127.0.0.1:${port}/extension`),
@@ -561,12 +557,17 @@ describe("chrome extension relay server", () => {
);
ext.close();
await new Promise((r) => setTimeout(r, 170));
const version = (await fetch(`${cdpUrl}/json/version`, {
headers: relayAuthHeaders(cdpUrl),
}).then((r) => r.json())) as { webSocketDebuggerUrl?: string };
expect(version.webSocketDebuggerUrl).toBeUndefined();
await expect
.poll(
async () => {
const version = (await fetch(`${cdpUrl}/json/version`, {
headers: relayAuthHeaders(cdpUrl),
}).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 () => {
@@ -1019,12 +1020,13 @@ describe("chrome extension relay server", () => {
const ext1Closed = waitForClose(ext1, 2_000);
ext1.close();
await ext1Closed;
await new Promise((r) => setTimeout(r, 260));
const listEmpty = (await fetch(`${cdpUrl}/json/list`, {
headers: relayAuthHeaders(cdpUrl),
}).then((r) => r.json())) as Array<{ id?: string }>;
expect(listEmpty.length).toBe(0);
await waitForListMatch(
async () =>
(await fetch(`${cdpUrl}/json/list`, {
headers: relayAuthHeaders(cdpUrl),
}).then((r) => r.json())) as Array<{ id?: string }>,
(list) => list.length === 0,
);
// Reconnect and re-announce the same tab (simulates reannounceAttachedTabs).
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);
ext1.close();
await ext1Closed;
await new Promise((r) => setTimeout(r, 25));
// Tab should still be listed during grace period.
const listDuringGrace = (await fetch(`${cdpUrl}/json/list`, {