mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
83900e4683
* 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
31 lines
1.4 KiB
TypeScript
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();
|
|
});
|
|
});
|