mirror of
https://github.com/Gitlawb/openclaude.git
synced 2026-11-06 12:50:54 -04:00
test: restore leaked provider mocks and Concentrate env in single-process runs (#2328)
Co-authored-by: jatmn <12479882+jatmn@users.noreply.github.com>
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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',
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user