Files
fusion/packages/engine/src/sandbox/__tests__/resolve.test.ts
Fusion ba54957777 feat(FN-4638): complete Step 4 — implement sandbox-exec backend
Fusion-Task-Id: FN-4638
Fusion-Task-Lineage: a6dcc3d9-b7ab-42c1-af88-c9e09f770d92
2026-05-15 11:18:44 -07:00

35 lines
1.2 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { BubblewrapBackend } from "../bubblewrap-backend.js";
import { NativeSandboxBackend } from "../native.js";
import { resolveSandboxBackend } from "../index.js";
describe("resolveSandboxBackend", () => {
it("returns native for undefined backend", () => {
expect(resolveSandboxBackend()).toBeInstanceOf(NativeSandboxBackend);
});
it("returns native for explicit native backend", () => {
expect(resolveSandboxBackend({ backendId: "native" })).toBeInstanceOf(NativeSandboxBackend);
});
it("returns bubblewrap on linux when requested", () => {
const backend = resolveSandboxBackend({ backendId: "bubblewrap" });
if (process.platform === "linux") {
expect(backend).toBeInstanceOf(BubblewrapBackend);
return;
}
expect(backend).toBeInstanceOf(NativeSandboxBackend);
});
it("returns sandbox-exec on darwin when requested", async () => {
const { SandboxExecBackend } = await import("../sandbox-exec-backend.js");
const backend = resolveSandboxBackend({ backendId: "sandbox-exec" });
if (process.platform === "darwin") {
expect(backend).toBeInstanceOf(SandboxExecBackend);
return;
}
expect(backend).toBeInstanceOf(NativeSandboxBackend);
});
});