mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-19 11:18:37 +00:00
fix(test): prevent env leak causing models.json CI flake
This commit is contained in:
@@ -32,9 +32,7 @@ describe("models-config", () => {
|
|||||||
});
|
});
|
||||||
globalThis.fetch = fetchMock as unknown as typeof fetch;
|
globalThis.fetch = fetchMock as unknown as typeof fetch;
|
||||||
|
|
||||||
await ensureOpenClawModelsJson({ models: { providers: {} } });
|
const { agentDir } = await ensureOpenClawModelsJson({ models: { providers: {} } });
|
||||||
|
|
||||||
const agentDir = path.join(process.env.HOME ?? "", ".openclaw", "agents", "main", "agent");
|
|
||||||
expect(await readCopilotBaseUrl(agentDir)).toBe(DEFAULT_COPILOT_API_BASE_URL);
|
expect(await readCopilotBaseUrl(agentDir)).toBe(DEFAULT_COPILOT_API_BASE_URL);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -39,15 +39,22 @@ const envSnapshot = () => ({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const restoreEnv = (snapshot: ReturnType<typeof envSnapshot>) => {
|
const restoreEnv = (snapshot: ReturnType<typeof envSnapshot>) => {
|
||||||
process.env.PATH = snapshot.PATH;
|
const restoreEnvVar = (key: string, value: string | undefined) => {
|
||||||
process.env.SHERPA_ONNX_MODEL_DIR = snapshot.SHERPA_ONNX_MODEL_DIR;
|
if (value === undefined) {
|
||||||
process.env.WHISPER_CPP_MODEL = snapshot.WHISPER_CPP_MODEL;
|
delete process.env[key];
|
||||||
process.env.OPENAI_API_KEY = snapshot.OPENAI_API_KEY;
|
} else {
|
||||||
process.env.GROQ_API_KEY = snapshot.GROQ_API_KEY;
|
process.env[key] = value;
|
||||||
process.env.DEEPGRAM_API_KEY = snapshot.DEEPGRAM_API_KEY;
|
}
|
||||||
process.env.GEMINI_API_KEY = snapshot.GEMINI_API_KEY;
|
};
|
||||||
process.env.OPENCLAW_AGENT_DIR = snapshot.OPENCLAW_AGENT_DIR;
|
restoreEnvVar("PATH", snapshot.PATH);
|
||||||
process.env.PI_CODING_AGENT_DIR = snapshot.PI_CODING_AGENT_DIR;
|
restoreEnvVar("SHERPA_ONNX_MODEL_DIR", snapshot.SHERPA_ONNX_MODEL_DIR);
|
||||||
|
restoreEnvVar("WHISPER_CPP_MODEL", snapshot.WHISPER_CPP_MODEL);
|
||||||
|
restoreEnvVar("OPENAI_API_KEY", snapshot.OPENAI_API_KEY);
|
||||||
|
restoreEnvVar("GROQ_API_KEY", snapshot.GROQ_API_KEY);
|
||||||
|
restoreEnvVar("DEEPGRAM_API_KEY", snapshot.DEEPGRAM_API_KEY);
|
||||||
|
restoreEnvVar("GEMINI_API_KEY", snapshot.GEMINI_API_KEY);
|
||||||
|
restoreEnvVar("OPENCLAW_AGENT_DIR", snapshot.OPENCLAW_AGENT_DIR);
|
||||||
|
restoreEnvVar("PI_CODING_AGENT_DIR", snapshot.PI_CODING_AGENT_DIR);
|
||||||
};
|
};
|
||||||
|
|
||||||
const withEnvSnapshot = async <T>(run: () => Promise<T>): Promise<T> => {
|
const withEnvSnapshot = async <T>(run: () => Promise<T>): Promise<T> => {
|
||||||
|
|||||||
Reference in New Issue
Block a user