Files
openclaw/extensions/browser/browser-maintenance.test.ts
T
Peter Steinberger 83900e4683 feat(browser): add relay authentication v2 (#120526)
* feat(browser): add relay authentication v2

* fix(browser): cap relay test WebSocket payload

* fix(browser): keep relay E2E inside extension boundary

* fix(browser): isolate relay admission and cleanup auth

* fix(browser): finish relay auth migration hardening

* fix(browser): keep preauth transport bounded through teardown
2026-08-08 05:48:24 -07:00

31 lines
1.4 KiB
TypeScript

import { describe, expect, it, vi } from "vitest";
const getBrowserControlState = vi.hoisted(() => vi.fn());
const closeTrackedBrowserTabs = vi.hoisted(() =>
vi.fn(async (_params: { getResolvedBrowserConfig: () => unknown; sessionKeys: string[] }) => 0),
);
vi.mock("./src/browser-control-state.js", () => ({ getBrowserControlState }));
vi.mock("./src/browser/session-tab-registry.js", () => ({
closeTrackedBrowserTabsForSessions: closeTrackedBrowserTabs,
}));
import { closeTrackedBrowserTabsForSessions } from "./browser-maintenance.js";
describe("browser maintenance cleanup ownership", () => {
it("injects the current live Browser runtime config without retaining a stale snapshot", async () => {
const firstResolved = { marker: "first" };
const secondResolved = { marker: "second" };
getBrowserControlState.mockReturnValue({ resolved: firstResolved });
await closeTrackedBrowserTabsForSessions({ sessionKeys: ["agent:main:main"] });
const cleanupParams = closeTrackedBrowserTabs.mock.calls[0]?.[0];
expect(cleanupParams?.getResolvedBrowserConfig()).toBe(firstResolved);
getBrowserControlState.mockReturnValue({ resolved: secondResolved });
expect(cleanupParams?.getResolvedBrowserConfig()).toBe(secondResolved);
getBrowserControlState.mockReturnValue(null);
expect(cleanupParams?.getResolvedBrowserConfig()).toBeNull();
});
});