mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-22 21:28:11 +00:00
61 lines
3.1 KiB
TypeScript
61 lines
3.1 KiB
TypeScript
// Docker E2E seed tests cover generated config and fixture-server contracts.
|
|
import { readFileSync } from "node:fs";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
function readScript(pathname: string): string {
|
|
return readFileSync(pathname, "utf8");
|
|
}
|
|
|
|
describe("Docker E2E seed scripts", () => {
|
|
it("keeps the shared OpenAI seed helper aligned with packaged provider onboarding", () => {
|
|
const source = readScript("scripts/e2e/docker-openai-seed.ts");
|
|
|
|
expect(source).toContain("../../dist/plugin-sdk/provider-onboard.js");
|
|
expect(source).toContain('const DOCKER_OPENAI_MODEL_REF = "openai/gpt-5.5"');
|
|
expect(source).toContain('api: "openai-responses"');
|
|
expect(source).toContain("aliases: [{ modelRef: DOCKER_OPENAI_MODEL_REF, alias: \"GPT\" }]");
|
|
expect(source).toContain("primaryModelRef: DOCKER_OPENAI_MODEL_REF");
|
|
expect(source).toContain("openAiProvider.apiKey = apiKey");
|
|
});
|
|
|
|
it("keeps MCP channels config wired to seeded transcript artifacts", () => {
|
|
const source = readScript("scripts/e2e/mcp-channels-seed.ts");
|
|
|
|
expect(source).toContain('const sessionsDir = path.join(stateDir, "agents", "main", "sessions")');
|
|
expect(source).toContain('const sessionFile = path.join(sessionsDir, "sess-main.jsonl")');
|
|
expect(source).toContain('const storePath = path.join(sessionsDir, "sessions.json")');
|
|
expect(source).toContain('channel: "imessage"');
|
|
expect(source).toContain('accountId: "imessage-default"');
|
|
expect(source).toContain('"hello from seeded transcript"');
|
|
expect(source).toContain('media_type: "image/png"');
|
|
});
|
|
|
|
it("keeps cron MCP cleanup config wired to its probe server artifacts", () => {
|
|
const source = readScript("scripts/e2e/cron-mcp-cleanup-seed.ts");
|
|
|
|
expect(source).toContain('process.title = "openclaw-cron-mcp-cleanup-probe"');
|
|
expect(source).toContain('const probeDir = path.join(stateDir, "cron-mcp-cleanup")');
|
|
expect(source).toContain('const serverPath = path.join(probeDir, "probe-server.mjs")');
|
|
expect(source).toContain("await fs.rm(pidsPath, { force: true })");
|
|
expect(source).toContain("cronCleanupProbe: {");
|
|
expect(source).toContain("command: \"node\"");
|
|
expect(source).toContain("args: [serverPath]");
|
|
expect(source).toContain("cwd: probeDir");
|
|
expect(source).toContain('subagents: {\n runTimeoutSeconds: 8,');
|
|
});
|
|
|
|
it("keeps MCP code-mode gateway config wired to its fixture server artifacts", () => {
|
|
const source = readScript("scripts/e2e/mcp-code-mode-gateway-seed.ts");
|
|
|
|
expect(source).toContain('const serverPath = path.join(stateDir, "mcp-code-mode-fixture"');
|
|
expect(source).toContain('["alpha", "fixture-note-alpha"]');
|
|
expect(source).toContain("responses: {\n enabled: true,");
|
|
expect(source).toContain("codeMode: {\n enabled: true,");
|
|
expect(source).toContain("fixture: {");
|
|
expect(source).toContain("command: \"node\"");
|
|
expect(source).toContain("args: [serverPath]");
|
|
expect(source).toContain("cwd: path.dirname(serverPath)");
|
|
expect(source).toContain("connectionTimeoutMs: 30_000");
|
|
});
|
|
});
|