perf: skip browser routes in auth tests

This commit is contained in:
Peter Steinberger
2026-04-23 21:16:50 +01:00
parent 82a847f3b4
commit 1ea02db8a3
2 changed files with 19 additions and 11 deletions

View File

@@ -44,6 +44,7 @@ describe("startBrowserBridgeServer auth", () => {
const bridge = await startBrowserBridgeServer({
resolved: buildResolvedConfig(),
...authConfig,
skipRouteRegistrationForTest: true,
});
servers.push({ stop: () => stopBrowserBridgeServer(bridge.server) });
@@ -87,6 +88,7 @@ describe("startBrowserBridgeServer auth", () => {
const bridge = await startBrowserBridgeServer({
resolved: buildResolvedConfig(),
authToken: "secret-token",
skipRouteRegistrationForTest: true,
resolveSandboxNoVncToken: (token) => {
resolveCalls += 1;
if (token !== "valid-token") {

View File

@@ -5,13 +5,8 @@ import { normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
import { isLoopbackHost } from "../gateway/net.js";
import { deleteBridgeAuthForPort, setBridgeAuthForPort } from "./bridge-auth-registry.js";
import type { ResolvedBrowserConfig } from "./config.js";
import { registerBrowserRoutes } from "./routes/index.js";
import type { BrowserRouteRegistrar } from "./routes/types.js";
import {
type BrowserServerState,
createBrowserRouteContext,
type ProfileContext,
} from "./server-context.js";
import type { BrowserServerState, ProfileContext } from "./server-context.js";
import {
hasVerifiedBrowserAuth,
installBrowserAuthMiddleware,
@@ -67,6 +62,7 @@ export async function startBrowserBridgeServer(params: {
authPassword?: string;
onEnsureAttachTarget?: (profile: ProfileContext["profile"]) => Promise<void>;
resolveSandboxNoVncToken?: (token: string) => ResolvedNoVncObserver | null;
skipRouteRegistrationForTest?: boolean;
}): Promise<BrowserBridge> {
const host = params.host ?? "127.0.0.1";
if (!isLoopbackHost(host)) {
@@ -115,11 +111,21 @@ export async function startBrowserBridgeServer(params: {
profiles: new Map(),
};
const ctx = createBrowserRouteContext({
getState: () => state,
onEnsureAttachTarget: params.onEnsureAttachTarget,
});
registerBrowserRoutes(app as unknown as BrowserRouteRegistrar, ctx);
if (params.skipRouteRegistrationForTest) {
app.get("/", (_req, res) => {
res.status(200).send("OK");
});
} else {
const [{ createBrowserRouteContext }, { registerBrowserRoutes }] = await Promise.all([
import("./server-context.js"),
import("./routes/index.js"),
]);
const ctx = createBrowserRouteContext({
getState: () => state,
onEnsureAttachTarget: params.onEnsureAttachTarget,
});
registerBrowserRoutes(app as unknown as BrowserRouteRegistrar, ctx);
}
const server = await new Promise<Server>((resolve, reject) => {
const s = app.listen(port, host, () => resolve(s));