From dea4d393b331cc8c2fa45d140fb17dba9b16b249 Mon Sep 17 00:00:00 2001 From: JATMN Date: Wed, 21 Oct 2026 22:29:27 -0700 Subject: [PATCH] test: restore leaked provider mocks and Concentrate env in single-process runs (#2328) Co-authored-by: jatmn <12479882+jatmn@users.noreply.github.com> --- src/utils/envFile.test.ts | 3 +++ src/utils/status.test.ts | 7 +++++++ src/utils/thinking.test.ts | 10 ++++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/utils/envFile.test.ts b/src/utils/envFile.test.ts index 5c696307c..3354a715d 100644 --- a/src/utils/envFile.test.ts +++ b/src/utils/envFile.test.ts @@ -23,6 +23,9 @@ const TEST_ENV_KEYS = [ 'CMD_API_KEY', 'COMMANDCODE_API_KEY', 'COMMAND_CODE_API_KEY', + 'CONCENTRATE_API_KEY', + 'CONCENTRATE_BASE_URL', + 'CONCENTRATE_MODEL', 'APISMART_API_KEY', 'APISMART_MODEL', 'API_ROUTE_API_KEY', diff --git a/src/utils/status.test.ts b/src/utils/status.test.ts index 234077935..85cdfb5f5 100644 --- a/src/utils/status.test.ts +++ b/src/utils/status.test.ts @@ -6,6 +6,11 @@ import { releaseSharedMutationLock, } from '../test/sharedMutationLock.js' +const realProvidersModule = await import( + `./model/providers.js?real=${Date.now()}-${Math.random()}` +) +const realProviders = { ...realProvidersModule } + const ORIGINAL_ENV = { ...process.env } function restoreEnv(): void { @@ -81,6 +86,8 @@ beforeEach(async () => { afterEach(() => { try { mock.restore() + // mock.restore() does not unregister Bun's process-global module mocks. + mock.module('./model/providers.js', () => realProviders) restoreEnv() } finally { releaseSharedMutationLock() diff --git a/src/utils/thinking.test.ts b/src/utils/thinking.test.ts index 585e68a79..2051f2b43 100644 --- a/src/utils/thinking.test.ts +++ b/src/utils/thinking.test.ts @@ -5,6 +5,11 @@ import { } from '../test/sharedMutationLock.js' import { resetSettingsCache } from './settings/settingsCache.js' +const realProvidersModule = await import( + `./model/providers.js?real=${Date.now()}-${Math.random()}` +) +const realProviders = { ...realProvidersModule } + const ENV_KEYS = [ 'CLAUDE_CODE_USE_OPENAI', 'CLAUDE_CODE_USE_GEMINI', @@ -43,6 +48,8 @@ beforeEach(async () => { afterEach(() => { try { mock.restore() + // mock.restore() does not unregister Bun's process-global module mocks. + mock.module('./model/providers.js', () => realProviders) for (const key of ENV_KEYS) { if (originalEnv[key] === undefined) { delete process.env[key] @@ -58,10 +65,9 @@ afterEach(() => { async function importFreshThinkingModule() { mock.restore() - const originalProviders = await import('./model/providers.js') mock.module('./model/providers.js', () => { return { - ...originalProviders, + ...realProviders, getAPIProvider: () => 'openai', } })