mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-08 07:41:08 +00:00
test: trim agents importActual mocks
This commit is contained in:
@@ -17,8 +17,8 @@ const storeMocks = vi.hoisted(() => ({
|
||||
}));
|
||||
const fetchMock = vi.hoisted(() => vi.fn());
|
||||
|
||||
vi.mock("./store.js", async (importOriginal) => {
|
||||
const original = await importOriginal<typeof import("./store.js")>();
|
||||
vi.mock("./store.js", async () => {
|
||||
const original = await vi.importActual<typeof import("./store.js")>("./store.js");
|
||||
return {
|
||||
...original,
|
||||
updateAuthProfileStoreWithLock: storeMocks.updateAuthProfileStoreWithLock,
|
||||
|
||||
@@ -16,8 +16,9 @@ const resolveSessionAuthProfileOverrideMock = vi.fn();
|
||||
const getActiveEmbeddedRunSnapshotMock = vi.fn();
|
||||
const diagDebugMock = vi.fn();
|
||||
|
||||
vi.mock("@mariozechner/pi-ai", async (importOriginal) => {
|
||||
const original = await importOriginal<typeof import("@mariozechner/pi-ai")>();
|
||||
vi.mock("@mariozechner/pi-ai", async () => {
|
||||
const original =
|
||||
await vi.importActual<typeof import("@mariozechner/pi-ai")>("@mariozechner/pi-ai");
|
||||
return {
|
||||
...original,
|
||||
streamSimple: (...args: unknown[]) => streamSimpleMock(...args),
|
||||
|
||||
@@ -3,8 +3,8 @@ import type { ExtensionContext } from "@mariozechner/pi-coding-agent";
|
||||
import * as piCodingAgent from "@mariozechner/pi-coding-agent";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
vi.mock("@mariozechner/pi-coding-agent", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof piCodingAgent>();
|
||||
vi.mock("@mariozechner/pi-coding-agent", async () => {
|
||||
const actual = await vi.importActual<typeof piCodingAgent>("@mariozechner/pi-coding-agent");
|
||||
return {
|
||||
...actual,
|
||||
generateSummary: vi.fn(),
|
||||
@@ -14,14 +14,8 @@ vi.mock("@mariozechner/pi-coding-agent", async (importOriginal) => {
|
||||
const mockGenerateSummary = vi.mocked(piCodingAgent.generateSummary);
|
||||
type SummarizeInStagesInput = Parameters<typeof import("./compaction.js").summarizeInStages>[0];
|
||||
|
||||
let buildCompactionSummarizationInstructions: typeof import("./compaction.js").buildCompactionSummarizationInstructions;
|
||||
let summarizeInStages: typeof import("./compaction.js").summarizeInStages;
|
||||
|
||||
async function loadFreshCompactionModuleForTest() {
|
||||
vi.resetModules();
|
||||
({ buildCompactionSummarizationInstructions, summarizeInStages } =
|
||||
await import("./compaction.js"));
|
||||
}
|
||||
const { buildCompactionSummarizationInstructions, summarizeInStages } =
|
||||
await import("./compaction.js");
|
||||
|
||||
function makeMessage(index: number, size = 1200): AgentMessage {
|
||||
return {
|
||||
@@ -46,8 +40,7 @@ describe("compaction identifier-preservation instructions", () => {
|
||||
signal: new AbortController().signal,
|
||||
};
|
||||
|
||||
beforeEach(async () => {
|
||||
await loadFreshCompactionModuleForTest();
|
||||
beforeEach(() => {
|
||||
mockGenerateSummary.mockReset();
|
||||
mockGenerateSummary.mockResolvedValue("summary");
|
||||
});
|
||||
|
||||
@@ -6,8 +6,8 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import { retryAsync } from "../infra/retry.js";
|
||||
|
||||
// Mock the external generateSummary function
|
||||
vi.mock("@mariozechner/pi-coding-agent", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof piCodingAgent>();
|
||||
vi.mock("@mariozechner/pi-coding-agent", async () => {
|
||||
const actual = await vi.importActual<typeof piCodingAgent>("@mariozechner/pi-coding-agent");
|
||||
return {
|
||||
...actual,
|
||||
generateSummary: vi.fn(),
|
||||
|
||||
@@ -20,8 +20,9 @@ afterAll(() => {
|
||||
bundledPluginsDirSnapshot.restore();
|
||||
});
|
||||
|
||||
vi.mock("../infra/shell-env.js", async (importOriginal) => {
|
||||
const mod = await importOriginal<typeof import("../infra/shell-env.js")>();
|
||||
vi.mock("../infra/shell-env.js", async () => {
|
||||
const mod =
|
||||
await vi.importActual<typeof import("../infra/shell-env.js")>("../infra/shell-env.js");
|
||||
return {
|
||||
...mod,
|
||||
getShellPathFromLoginShell: vi.fn(() => null),
|
||||
@@ -30,12 +31,15 @@ vi.mock("../infra/shell-env.js", async (importOriginal) => {
|
||||
});
|
||||
|
||||
vi.mock("../plugins/tools.js", () => ({
|
||||
copyPluginToolMeta: vi.fn((_from, to) => to),
|
||||
resolvePluginTools: () => [],
|
||||
getPluginToolMeta: () => undefined,
|
||||
}));
|
||||
|
||||
vi.mock("../infra/exec-approvals.js", async (importOriginal) => {
|
||||
const mod = await importOriginal<typeof import("../infra/exec-approvals.js")>();
|
||||
vi.mock("../infra/exec-approvals.js", async () => {
|
||||
const mod = await vi.importActual<typeof import("../infra/exec-approvals.js")>(
|
||||
"../infra/exec-approvals.js",
|
||||
);
|
||||
const approvals: ExecApprovalsResolved = {
|
||||
path: "/tmp/exec-approvals.json",
|
||||
socketPath: "/tmp/exec-approvals.sock",
|
||||
|
||||
@@ -8,8 +8,8 @@ const dockerMocks = vi.hoisted(() => ({
|
||||
execDockerRaw: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("./docker.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("./docker.js")>();
|
||||
vi.mock("./docker.js", async () => {
|
||||
const actual = await vi.importActual<typeof import("./docker.js")>("./docker.js");
|
||||
return {
|
||||
...actual,
|
||||
dockerContainerState: dockerMocks.dockerContainerState,
|
||||
@@ -19,7 +19,7 @@ vi.mock("./docker.js", async (importOriginal) => {
|
||||
};
|
||||
});
|
||||
|
||||
let dockerSandboxBackendManager: typeof import("./docker-backend.js").dockerSandboxBackendManager;
|
||||
const { dockerSandboxBackendManager } = await import("./docker-backend.js");
|
||||
|
||||
function createConfig(): OpenClawConfig {
|
||||
return {
|
||||
@@ -43,23 +43,8 @@ function createConfig(): OpenClawConfig {
|
||||
};
|
||||
}
|
||||
|
||||
async function loadFreshDockerBackendModuleForTest() {
|
||||
vi.resetModules();
|
||||
vi.doMock("./docker.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("./docker.js")>();
|
||||
return {
|
||||
...actual,
|
||||
dockerContainerState: dockerMocks.dockerContainerState,
|
||||
ensureSandboxContainer: dockerMocks.ensureSandboxContainer,
|
||||
execDocker: dockerMocks.execDocker,
|
||||
execDockerRaw: dockerMocks.execDockerRaw,
|
||||
};
|
||||
});
|
||||
({ dockerSandboxBackendManager } = await import("./docker-backend.js"));
|
||||
}
|
||||
|
||||
describe("docker sandbox backend manager", () => {
|
||||
beforeEach(async () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
dockerMocks.dockerContainerState.mockResolvedValue({
|
||||
exists: true,
|
||||
@@ -70,7 +55,6 @@ describe("docker sandbox backend manager", () => {
|
||||
stdout: "unused-image",
|
||||
stderr: "",
|
||||
});
|
||||
await loadFreshDockerBackendModuleForTest();
|
||||
});
|
||||
|
||||
it("matches ordinary sandbox runtimes against sandbox.docker.image", async () => {
|
||||
|
||||
@@ -17,13 +17,17 @@ vi.mock("../infra/net/fetch-guard.js", () => ({
|
||||
fetchWithSsrFGuard: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("../security/skill-scanner.js", async (importOriginal) => ({
|
||||
...(await importOriginal<typeof import("../security/skill-scanner.js")>()),
|
||||
vi.mock("../security/skill-scanner.js", async () => ({
|
||||
...(await vi.importActual<typeof import("../security/skill-scanner.js")>(
|
||||
"../security/skill-scanner.js",
|
||||
)),
|
||||
scanDirectoryWithSummary: (...args: unknown[]) => scanDirectoryWithSummaryMock(...args),
|
||||
}));
|
||||
|
||||
vi.mock("../shared/config-eval.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("../shared/config-eval.js")>();
|
||||
vi.mock("../shared/config-eval.js", async () => {
|
||||
const actual = await vi.importActual<typeof import("../shared/config-eval.js")>(
|
||||
"../shared/config-eval.js",
|
||||
);
|
||||
return {
|
||||
...actual,
|
||||
hasBinary: (bin: string) => hasBinaryMock(bin),
|
||||
|
||||
Reference in New Issue
Block a user