test(agents): reset CLI prepare test dependencies (#122453)

This commit is contained in:
Peter Steinberger
2026-08-11 22:44:40 -07:00
committed by GitHub
parent 1afb5e64a5
commit 6752f8b4f1
3 changed files with 18 additions and 2 deletions
@@ -1,6 +1,7 @@
import "./prepare.js";
type CliRunnerPrepareTestApi = {
resetCliRunnerPrepareTestDeps(): void;
setCliRunnerPrepareTestDeps(overrides: Record<string, unknown>): void;
};
@@ -13,3 +14,7 @@ function getTestApi(): CliRunnerPrepareTestApi {
export function setCliRunnerPrepareTestDeps(overrides: Record<string, unknown>): void {
getTestApi().setCliRunnerPrepareTestDeps(overrides);
}
export function resetCliRunnerPrepareTestDeps(): void {
getTestApi().resetCliRunnerPrepareTestDeps();
}
+5 -1
View File
@@ -62,7 +62,10 @@ import {
import type { SandboxWorkspaceInfo } from "../sandbox/types.js";
import type { SystemAgentToolOptions } from "../tools/system-agent-tool.js";
import { prepareCliRunContext } from "./prepare.js";
import { setCliRunnerPrepareTestDeps } from "./prepare.test-support.js";
import {
resetCliRunnerPrepareTestDeps,
setCliRunnerPrepareTestDeps,
} from "./prepare.test-support.js";
import type { RunCliAgentParams } from "./types.js";
function registerTestContextEngine(
@@ -401,6 +404,7 @@ describe("prepareCliRunContext", () => {
afterEach(() => {
cliBackendsTesting.resetDepsForTest();
resetCliRunnerPrepareTestDeps();
resetCliAuthEpochTestDeps();
getRuntimeConfigMock.mockReset();
mockGetGlobalHookRunner.mockReset();
+8 -1
View File
@@ -171,7 +171,7 @@ type RunCliAgentPrepareParams = RunCliAgentParams & {
systemAgentTool?: import("../tools/system-agent-tool.js").SystemAgentToolOptions;
};
const prepareDeps = {
const defaultPrepareDeps = {
isWorkspaceBootstrapPending: isWorkspaceBootstrapPendingImpl,
makeBootstrapWarn: makeBootstrapWarnImpl,
resolveBootstrapContextForRun: resolveBootstrapContextForRunImpl,
@@ -195,6 +195,7 @@ const prepareDeps = {
readExternalCliBootstrapCredential,
resolveApiKeyForProfile,
};
const prepareDeps = { ...defaultPrepareDeps };
function resolveReusableCliSessionId(reusableCliSession: CliReusableSession): string | undefined {
return reusableCliSession.mode === "reuse" || reusableCliSession.mode === "reuse-with-drift"
@@ -320,6 +321,11 @@ function setCliRunnerPrepareTestDeps(overrides: Partial<typeof prepareDeps>): vo
Object.assign(prepareDeps, overrides);
}
/** Restores preparation dependencies after CLI runner tests. */
function resetCliRunnerPrepareTestDeps(): void {
Object.assign(prepareDeps, defaultPrepareDeps);
}
/** Returns whether profile-owned prepared execution should skip local CLI epoch hashing. */
function shouldSkipLocalCliCredentialEpoch(params: {
authEpochMode?: CliBackendAuthEpochMode;
@@ -337,6 +343,7 @@ function shouldSkipLocalCliCredentialEpoch(params: {
if (process.env.VITEST || process.env.NODE_ENV === "test") {
(globalThis as Record<PropertyKey, unknown>)[Symbol.for("openclaw.cliRunnerPrepareTestApi")] = {
resetCliRunnerPrepareTestDeps,
setCliRunnerPrepareTestDeps: (overrides: Record<string, unknown>) => {
setCliRunnerPrepareTestDeps(overrides as Partial<typeof prepareDeps>);
},