

























@@ -339,20 +339,6 @@ describe("scripts/lib/docker-e2e-plan", () => {
339339weight: 5,
340340},
341341]);
342-expect(pluginsRuntimeServices.lanes).toEqual(
343-expect.arrayContaining([
344-expect.objectContaining({
345-name: "cron-mcp-cleanup",
346-stateScenario: "empty",
347-}),
348-expect.objectContaining({
349-live: true,
350-name: "live-plugin-tool",
351-resources: ["docker", "live", "live:openai", "npm"],
352-stateScenario: "empty",
353-}),
354-]),
355-);
356342expect(pluginsRuntimePlugins.lanes.map((lane) => lane.name)).not.toContain(
357343"bundled-plugin-install-uninstall-0",
358344);
@@ -628,41 +614,33 @@ describe("scripts/lib/docker-e2e-plan", () => {
628614it("plans the Codex on-demand onboarding lane as package-backed npm proof", () => {
629615const plan = planFor({ selectedLaneNames: ["codex-on-demand"] });
630616631-expect(plan.lanes).toEqual([
632-expect.objectContaining({
633-command: "OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:codex-on-demand",
634-imageKind: "bare",
635-live: false,
636-name: "codex-on-demand",
637-resources: ["docker", "npm", "service"],
638-stateScenario: "empty",
639-}),
640-]);
641-expect(plan.needs).toMatchObject({
642-bareImage: true,
643-package: true,
644-});
617+expect(plan.lanes).toHaveLength(1);
618+const lane = requireFirstLane(plan);
619+expect(lane.command).toBe("OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:codex-on-demand");
620+expect(lane.imageKind).toBe("bare");
621+expect(lane.live).toBe(false);
622+expect(lane.name).toBe("codex-on-demand");
623+expect(lane.resources).toEqual(["docker", "npm", "service"]);
624+expect(lane.stateScenario).toBe("empty");
625+expect(plan.needs.bareImage).toBe(true);
626+expect(plan.needs.package).toBe(true);
645627});
646628647629it("plans the live plugin tool lane as package-backed OpenAI proof", () => {
648630const plan = planFor({ selectedLaneNames: ["live-plugin-tool"] });
649631650632expect(plan.credentials).toEqual(["openai"]);
651-expect(plan.lanes).toEqual([
652-expect.objectContaining({
653-command: "OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:live-plugin-tool",
654-imageKind: "bare",
655-live: true,
656-name: "live-plugin-tool",
657-resources: ["docker", "live", "live:openai", "npm"],
658-stateScenario: "empty",
659-}),
660-]);
661-expect(plan.needs).toMatchObject({
662-bareImage: true,
663-liveImage: true,
664-package: true,
665-});
633+expect(plan.lanes).toHaveLength(1);
634+const lane = requireFirstLane(plan);
635+expect(lane.command).toBe("OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:live-plugin-tool");
636+expect(lane.imageKind).toBe("bare");
637+expect(lane.live).toBe(true);
638+expect(lane.name).toBe("live-plugin-tool");
639+expect(lane.resources).toEqual(["docker", "live", "live:openai", "npm"]);
640+expect(lane.stateScenario).toBe("empty");
641+expect(plan.needs.bareImage).toBe(true);
642+expect(plan.needs.liveImage).toBe(true);
643+expect(plan.needs.package).toBe(true);
666644});
667645668646it("plans Open WebUI as a live-auth functional image lane", () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。