mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 19:28:28 +00:00
44 lines
1.7 KiB
TypeScript
44 lines
1.7 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { createPiToolsSandboxContext } from "./pi-tools-sandbox-context.js";
|
|
|
|
describe("createPiToolsSandboxContext", () => {
|
|
it("provides stable defaults for pi-tools sandbox tests", () => {
|
|
const sandbox = createPiToolsSandboxContext({
|
|
workspaceDir: "/tmp/sandbox",
|
|
});
|
|
|
|
expect(sandbox.enabled).toBe(true);
|
|
expect(sandbox.sessionKey).toBe("sandbox:test");
|
|
expect(sandbox.workspaceDir).toBe("/tmp/sandbox");
|
|
expect(sandbox.agentWorkspaceDir).toBe("/tmp/sandbox");
|
|
expect(sandbox.workspaceAccess).toBe("rw");
|
|
expect(sandbox.containerName).toBe("openclaw-sbx-test");
|
|
expect(sandbox.containerWorkdir).toBe("/workspace");
|
|
expect(sandbox.docker.image).toBe("openclaw-sandbox:bookworm-slim");
|
|
expect(sandbox.docker.containerPrefix).toBe("openclaw-sbx-");
|
|
expect(sandbox.tools).toEqual({ allow: [], deny: [] });
|
|
expect(sandbox.browserAllowHostControl).toBe(false);
|
|
});
|
|
|
|
it("applies provided overrides", () => {
|
|
const sandbox = createPiToolsSandboxContext({
|
|
workspaceDir: "/tmp/sandbox",
|
|
agentWorkspaceDir: "/tmp/workspace",
|
|
workspaceAccess: "ro",
|
|
tools: { allow: ["read"], deny: ["exec"] },
|
|
browserAllowHostControl: true,
|
|
dockerOverrides: {
|
|
readOnlyRoot: false,
|
|
tmpfs: ["/tmp"],
|
|
},
|
|
});
|
|
|
|
expect(sandbox.agentWorkspaceDir).toBe("/tmp/workspace");
|
|
expect(sandbox.workspaceAccess).toBe("ro");
|
|
expect(sandbox.tools).toEqual({ allow: ["read"], deny: ["exec"] });
|
|
expect(sandbox.browserAllowHostControl).toBe(true);
|
|
expect(sandbox.docker.readOnlyRoot).toBe(false);
|
|
expect(sandbox.docker.tmpfs).toEqual(["/tmp"]);
|
|
});
|
|
});
|