





















@@ -156,6 +156,18 @@ function requireValue<T>(value: T | null | undefined, label: string): T {
156156return value;
157157}
158158159+function latestBridgeResolved(): Record<string, unknown> {
160+const params = bridgeMocks.startBrowserBridgeServer.mock.calls.at(-1)?.[0];
161+if (!params || typeof params !== "object") {
162+throw new Error("expected browser bridge start params");
163+}
164+const resolved = params.resolved;
165+if (!resolved || typeof resolved !== "object") {
166+throw new Error("expected resolved browser bridge config");
167+}
168+return resolved;
169+}
170+159171describe("ensureSandboxBrowser create args", () => {
160172beforeAll(async () => {
161173await loadFreshBrowserModulesForTest();
@@ -287,13 +299,9 @@ describe("ensureSandboxBrowser create args", () => {
287299ssrfPolicy: { dangerouslyAllowPrivateNetwork: true },
288300});
289301290-expect(bridgeMocks.startBrowserBridgeServer).toHaveBeenCalledWith(
291-expect.objectContaining({
292-resolved: expect.objectContaining({
293-ssrfPolicy: { dangerouslyAllowPrivateNetwork: true },
294-}),
295-}),
296-);
302+expect(latestBridgeResolved().ssrfPolicy).toEqual({
303+dangerouslyAllowPrivateNetwork: true,
304+});
297305});
298306299307it("recreates a cached bridge when the SSRF policy changes", async () => {
@@ -353,13 +361,9 @@ describe("ensureSandboxBrowser create args", () => {
353361});
354362355363expect(bridgeMocks.stopBrowserBridgeServer).toHaveBeenCalledWith(existingBridge.server);
356-expect(bridgeMocks.startBrowserBridgeServer).toHaveBeenCalledWith(
357-expect.objectContaining({
358-resolved: expect.objectContaining({
359-ssrfPolicy: { allowedHostnames: ["example.com"] },
360-}),
361-}),
362-);
364+expect(latestBridgeResolved().ssrfPolicy).toEqual({
365+allowedHostnames: ["example.com"],
366+});
363367});
364368365369it("recreates a cached bridge when evaluate permission changes", async () => {
@@ -418,13 +422,7 @@ describe("ensureSandboxBrowser create args", () => {
418422});
419423420424expect(bridgeMocks.stopBrowserBridgeServer).toHaveBeenCalledWith(existingBridge.server);
421-expect(bridgeMocks.startBrowserBridgeServer).toHaveBeenCalledWith(
422-expect.objectContaining({
423-resolved: expect.objectContaining({
424-evaluateEnabled: false,
425-}),
426-}),
427-);
425+expect(latestBridgeResolved().evaluateEnabled).toBe(false);
428426});
429427430428it("mounts the main workspace read-only when workspaceAccess is none", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。