mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 09:21:23 +00:00
refactor(reply-tests): share harness mock bundle
This commit is contained in:
@@ -39,19 +39,21 @@ export function installRunReplyAgentTypingHeartbeatTestHooks() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function loadHarnessMocks() {
|
||||||
|
const { loadAgentRunnerHarnessMockBundle } = await import("./agent-runner.test-harness.mocks.js");
|
||||||
|
return await loadAgentRunnerHarnessMockBundle(state);
|
||||||
|
}
|
||||||
|
|
||||||
vi.mock("../../agents/model-fallback.js", async () => {
|
vi.mock("../../agents/model-fallback.js", async () => {
|
||||||
const { modelFallbackMockFactory } = await import("./agent-runner.test-harness.mocks.js");
|
return (await loadHarnessMocks()).modelFallback;
|
||||||
return modelFallbackMockFactory();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
vi.mock("../../agents/pi-embedded.js", async () => {
|
vi.mock("../../agents/pi-embedded.js", async () => {
|
||||||
const { embeddedPiMockFactory } = await import("./agent-runner.test-harness.mocks.js");
|
return (await loadHarnessMocks()).embeddedPi;
|
||||||
return embeddedPiMockFactory(state);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
vi.mock("./queue.js", async () => {
|
vi.mock("./queue.js", async () => {
|
||||||
const { queueMockFactory } = await import("./agent-runner.test-harness.mocks.js");
|
return (await loadHarnessMocks()).queue;
|
||||||
return await queueMockFactory();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export function createMinimalRun(params?: {
|
export function createMinimalRun(params?: {
|
||||||
|
|||||||
@@ -30,9 +30,13 @@ export function getRunCliAgentMock(): AnyMock {
|
|||||||
|
|
||||||
export type { EmbeddedRunParams };
|
export type { EmbeddedRunParams };
|
||||||
|
|
||||||
|
async function loadHarnessMocks() {
|
||||||
|
const { loadAgentRunnerHarnessMockBundle } = await import("./agent-runner.test-harness.mocks.js");
|
||||||
|
return await loadAgentRunnerHarnessMockBundle(state);
|
||||||
|
}
|
||||||
|
|
||||||
vi.mock("../../agents/model-fallback.js", async () => {
|
vi.mock("../../agents/model-fallback.js", async () => {
|
||||||
const { modelFallbackMockFactory } = await import("./agent-runner.test-harness.mocks.js");
|
return (await loadHarnessMocks()).modelFallback;
|
||||||
return modelFallbackMockFactory();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
vi.mock("../../agents/cli-runner.js", () => ({
|
vi.mock("../../agents/cli-runner.js", () => ({
|
||||||
@@ -40,13 +44,11 @@ vi.mock("../../agents/cli-runner.js", () => ({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
vi.mock("../../agents/pi-embedded.js", async () => {
|
vi.mock("../../agents/pi-embedded.js", async () => {
|
||||||
const { embeddedPiMockFactory } = await import("./agent-runner.test-harness.mocks.js");
|
return (await loadHarnessMocks()).embeddedPi;
|
||||||
return embeddedPiMockFactory(state);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
vi.mock("./queue.js", async () => {
|
vi.mock("./queue.js", async () => {
|
||||||
const { queueMockFactory } = await import("./agent-runner.test-harness.mocks.js");
|
return (await loadHarnessMocks()).queue;
|
||||||
return await queueMockFactory();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export async function seedSessionStore(params: {
|
export async function seedSessionStore(params: {
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
import { vi } from "vitest";
|
import { vi } from "vitest";
|
||||||
|
|
||||||
|
export type AgentRunnerEmbeddedState = {
|
||||||
|
runEmbeddedPiAgentMock: (params: unknown) => unknown;
|
||||||
|
};
|
||||||
|
|
||||||
export function modelFallbackMockFactory(): Record<string, unknown> {
|
export function modelFallbackMockFactory(): Record<string, unknown> {
|
||||||
return {
|
return {
|
||||||
runWithModelFallback: async ({
|
runWithModelFallback: async ({
|
||||||
@@ -18,9 +22,7 @@ export function modelFallbackMockFactory(): Record<string, unknown> {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function embeddedPiMockFactory(state: {
|
export function embeddedPiMockFactory(state: AgentRunnerEmbeddedState): Record<string, unknown> {
|
||||||
runEmbeddedPiAgentMock: (params: unknown) => unknown;
|
|
||||||
}): Record<string, unknown> {
|
|
||||||
return {
|
return {
|
||||||
queueEmbeddedPiMessage: vi.fn().mockReturnValue(false),
|
queueEmbeddedPiMessage: vi.fn().mockReturnValue(false),
|
||||||
runEmbeddedPiAgent: (params: unknown) => state.runEmbeddedPiAgentMock(params),
|
runEmbeddedPiAgent: (params: unknown) => state.runEmbeddedPiAgentMock(params),
|
||||||
@@ -35,3 +37,15 @@ export async function queueMockFactory(): Promise<Record<string, unknown>> {
|
|||||||
scheduleFollowupDrain: vi.fn(),
|
scheduleFollowupDrain: vi.fn(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function loadAgentRunnerHarnessMockBundle(state: AgentRunnerEmbeddedState): Promise<{
|
||||||
|
modelFallback: Record<string, unknown>;
|
||||||
|
embeddedPi: Record<string, unknown>;
|
||||||
|
queue: Record<string, unknown>;
|
||||||
|
}> {
|
||||||
|
return {
|
||||||
|
modelFallback: modelFallbackMockFactory(),
|
||||||
|
embeddedPi: embeddedPiMockFactory(state),
|
||||||
|
queue: await queueMockFactory(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user