mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-18 12:37:27 +00:00
test: dedupe pi embedded runner setup and orphan case
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user