test: dedupe pi embedded runner setup and orphan case

This commit is contained in:
Peter Steinberger
2026-02-22 15:50:40 +00:00
parent f3ba3fe8dc
commit 47514e35a2

View File

@@ -4,7 +4,6 @@ import path from "node:path";
import { afterAll, beforeAll, describe, expect, it, vi } from "vitest";
import "./test-helpers/fast-coding-tools.js";
import type { OpenClawConfig } from "../config/config.js";
import { ensureOpenClawModelsJson } from "./models-config.js";
vi.mock("@mariozechner/pi-coding-agent", async () => {
const actual = await vi.importActual<typeof import("@mariozechner/pi-coding-agent")>(
@@ -162,8 +161,6 @@ const makeOpenAiConfig = (modelIds: string[]) =>
},
}) satisfies OpenClawConfig;
const ensureModels = (cfg: OpenClawConfig) => ensureOpenClawModelsJson(cfg, agentDir) as unknown;
const nextSessionFile = () => {
sessionCounter += 1;
return path.join(workspaceDir, `session-${sessionCounter}.jsonl`);
@@ -184,7 +181,6 @@ const runWithOrphanedSingleUserMessage = async (text: string) => {
});
const cfg = makeOpenAiConfig(["mock-1"]);
await ensureModels(cfg);
return await runEmbeddedPiAgent({
sessionId: "session:test",
sessionKey: testSessionKey,
@@ -230,7 +226,6 @@ const readSessionMessages = async (sessionFile: string) => {
const runDefaultEmbeddedTurn = async (sessionFile: string, prompt: string) => {
const cfg = makeOpenAiConfig(["mock-1"]);
await ensureModels(cfg);
await runEmbeddedPiAgent({
sessionId: "session:test",
sessionKey: testSessionKey,
@@ -305,7 +300,6 @@ describe("runEmbeddedPiAgent", () => {
},
},
} satisfies OpenClawConfig;
await ensureModels(cfg);
const result = await runEmbeddedPiAgent({
sessionId: "session:test-fallback",
@@ -342,7 +336,6 @@ describe("runEmbeddedPiAgent", () => {
],
},
} satisfies OpenClawConfig;
await ensureModels(cfg);
await expect(
runEmbeddedPiAgent({
@@ -381,7 +374,6 @@ describe("runEmbeddedPiAgent", () => {
it("persists the user message when prompt fails before assistant output", async () => {
const sessionFile = nextSessionFile();
const cfg = makeOpenAiConfig(["mock-error"]);
await ensureModels(cfg);
const result = await runEmbeddedPiAgent({
sessionId: "session:test",
@@ -409,7 +401,6 @@ describe("runEmbeddedPiAgent", () => {
it("fails fast on prompt transport errors", async () => {
const sessionFile = nextSessionFile();
const cfg = makeOpenAiConfig(["mock-throw"]);
await ensureModels(cfg);
await expect(
runEmbeddedPiAgent({
@@ -493,7 +484,6 @@ describe("runEmbeddedPiAgent", () => {
it("persists multi-turn user/assistant ordering across runs", async () => {
const sessionFile = nextSessionFile();
const cfg = makeOpenAiConfig(["mock-1"]);
await ensureModels(cfg);
await runEmbeddedPiAgent({
sessionId: "session:test",
@@ -554,11 +544,4 @@ describe("runEmbeddedPiAgent", () => {
expect(result.meta.error).toBeUndefined();
expect(result.payloads?.length ?? 0).toBeGreaterThan(0);
});
it("repairs orphaned single-user sessions and continues", async () => {
const result = await runWithOrphanedSingleUserMessage("solo user");
expect(result.meta.error).toBeUndefined();
expect(result.payloads?.length ?? 0).toBeGreaterThan(0);
});
});