diff --git a/src/agents/live-auth-keys.test.ts b/src/agents/live-auth-keys.test.ts index 6a8b8f42a43..83588d2c1be 100644 --- a/src/agents/live-auth-keys.test.ts +++ b/src/agents/live-auth-keys.test.ts @@ -5,6 +5,8 @@ vi.unmock("../secrets/provider-env-vars.js"); let collectProviderApiKeys: typeof import("./live-auth-keys.js").collectProviderApiKeys; async function loadModulesForTest(): Promise { + vi.resetModules(); + vi.doUnmock("../secrets/provider-env-vars.js"); ({ collectProviderApiKeys } = await import("./live-auth-keys.js")); } diff --git a/src/agents/models-config.auto-injects-github-copilot-provider-token-is.test.ts b/src/agents/models-config.auto-injects-github-copilot-provider-token-is.test.ts index 812865c4dee..5a1d740735b 100644 --- a/src/agents/models-config.auto-injects-github-copilot-provider-token-is.test.ts +++ b/src/agents/models-config.auto-injects-github-copilot-provider-token-is.test.ts @@ -1,6 +1,6 @@ import fs from "node:fs/promises"; import path from "node:path"; -import { describe, expect, it, vi } from "vitest"; +import { beforeEach, describe, expect, it, vi } from "vitest"; import { withEnvAsync } from "../test-utils/env.js"; import { installModelsConfigTestHooks, @@ -8,7 +8,6 @@ import { withCopilotGithubToken, withModelsTempHome as withTempHome, } from "./models-config.e2e-harness.js"; -import { ensureOpenClawModelsJson } from "./models-config.js"; vi.unmock("./models-config.js"); vi.unmock("./agent-paths.js"); @@ -19,6 +18,21 @@ vi.unmock("../secrets/provider-env-vars.js"); installModelsConfigTestHooks({ restoreFetch: true }); +let ensureOpenClawModelsJson: typeof import("./models-config.js").ensureOpenClawModelsJson; + +async function loadModelsConfigForTest(): Promise { + vi.resetModules(); + vi.doUnmock("./models-config.js"); + vi.doUnmock("./agent-paths.js"); + vi.doUnmock("../plugins/manifest-registry.js"); + vi.doUnmock("../plugins/provider-runtime.js"); + vi.doUnmock("../plugins/provider-runtime.runtime.js"); + vi.doUnmock("../secrets/provider-env-vars.js"); + ({ ensureOpenClawModelsJson } = await import("./models-config.js")); +} + +beforeEach(loadModelsConfigForTest); + describe("models-config", () => { it("auto-injects github-copilot provider when token is present", async () => { await withTempHome(async (home) => { diff --git a/src/agents/models-config.falls-back-default-baseurl-token-exchange-fails.test.ts b/src/agents/models-config.falls-back-default-baseurl-token-exchange-fails.test.ts index d10096f920c..907c84b79ae 100644 --- a/src/agents/models-config.falls-back-default-baseurl-token-exchange-fails.test.ts +++ b/src/agents/models-config.falls-back-default-baseurl-token-exchange-fails.test.ts @@ -1,6 +1,6 @@ import fs from "node:fs/promises"; import path from "node:path"; -import { describe, expect, it, vi } from "vitest"; +import { beforeEach, describe, expect, it, vi } from "vitest"; import { withEnvAsync } from "../test-utils/env.js"; import { DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token.js"; import { @@ -9,7 +9,6 @@ import { withUnsetCopilotTokenEnv, withModelsTempHome as withTempHome, } from "./models-config.e2e-harness.js"; -import { ensureOpenClawModelsJson } from "./models-config.js"; vi.unmock("./models-config.js"); vi.unmock("./agent-paths.js"); @@ -20,6 +19,21 @@ vi.unmock("../secrets/provider-env-vars.js"); installModelsConfigTestHooks({ restoreFetch: true }); +let ensureOpenClawModelsJson: typeof import("./models-config.js").ensureOpenClawModelsJson; + +async function loadModelsConfigForTest(): Promise { + vi.resetModules(); + vi.doUnmock("./models-config.js"); + vi.doUnmock("./agent-paths.js"); + vi.doUnmock("../plugins/manifest-registry.js"); + vi.doUnmock("../plugins/provider-runtime.js"); + vi.doUnmock("../plugins/provider-runtime.runtime.js"); + vi.doUnmock("../secrets/provider-env-vars.js"); + ({ ensureOpenClawModelsJson } = await import("./models-config.js")); +} + +beforeEach(loadModelsConfigForTest); + async function readCopilotBaseUrl(agentDir: string) { const raw = await fs.readFile(path.join(agentDir, "models.json"), "utf8"); const parsed = JSON.parse(raw) as { diff --git a/src/agents/models-config.fills-missing-provider-apikey-from-env-var.test.ts b/src/agents/models-config.fills-missing-provider-apikey-from-env-var.test.ts index 065cea6b02d..ebf255e0e56 100644 --- a/src/agents/models-config.fills-missing-provider-apikey-from-env-var.test.ts +++ b/src/agents/models-config.fills-missing-provider-apikey-from-env-var.test.ts @@ -8,6 +8,7 @@ vi.unmock("../secrets/provider-env-vars.js"); async function loadSecretsModule() { vi.doUnmock("../plugins/manifest-registry.js"); vi.doUnmock("../plugins/provider-runtime.js"); + vi.doUnmock("../plugins/provider-runtime.runtime.js"); vi.doUnmock("../secrets/provider-env-vars.js"); vi.resetModules(); const [{ resetProviderRuntimeHookCacheForTest }, { resetPluginLoaderTestStateForTest }] = @@ -23,6 +24,7 @@ async function loadSecretsModule() { beforeEach(async () => { vi.doUnmock("../plugins/manifest-registry.js"); vi.doUnmock("../plugins/provider-runtime.js"); + vi.doUnmock("../plugins/provider-runtime.runtime.js"); vi.doUnmock("../secrets/provider-env-vars.js"); vi.resetModules(); const [{ resetProviderRuntimeHookCacheForTest }, { resetPluginLoaderTestStateForTest }] = diff --git a/src/agents/models-config.providers.qianfan.test.ts b/src/agents/models-config.providers.qianfan.test.ts index c5c68f99c90..ff5e6f39dea 100644 --- a/src/agents/models-config.providers.qianfan.test.ts +++ b/src/agents/models-config.providers.qianfan.test.ts @@ -25,6 +25,7 @@ let createProviderAuthResolver: typeof import("./models-config.providers.secrets async function loadSecretsModule() { vi.doUnmock("../plugins/manifest-registry.js"); vi.doUnmock("../plugins/provider-runtime.js"); + vi.doUnmock("../plugins/provider-runtime.runtime.js"); vi.doUnmock("../secrets/provider-env-vars.js"); vi.resetModules(); await resetProviderRuntimeState();