mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 01:13:29 +00:00
test(agents): share pi-tools sandbox fixture context
This commit is contained in:
43
src/agents/test-helpers/pi-tools-sandbox-context.test.ts
Normal file
43
src/agents/test-helpers/pi-tools-sandbox-context.test.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
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"]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user