diff options
Diffstat (limited to 'packages/cli/src/config/config.test.ts')
| -rw-r--r-- | packages/cli/src/config/config.test.ts | 59 |
1 files changed, 24 insertions, 35 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index e70fc3b3..727f6fe1 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -252,17 +252,16 @@ describe('parseArguments', () => { describe('loadCliConfig', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; // Ensure API key is set for tests + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -339,7 +338,7 @@ describe('loadCliConfig', () => { ]; testCases.forEach(({ input, expected }) => { it(`should set proxy to ${expected} according to environment variable [${input.env_name}]`, async () => { - process.env[input.env_name] = input.proxy_url; + vi.stubEnv(input.env_name, input.proxy_url); process.argv = ['node', 'script.js']; const argv = await parseArguments(); const settings: Settings = {}; @@ -357,7 +356,7 @@ describe('loadCliConfig', () => { }); it('should prioritize CLI flag over environment variable for proxy (CLI http://localhost:7890, environment variable http://localhost:7891)', async () => { - process.env['http_proxy'] = 'http://localhost:7891'; + vi.stubEnv('http_proxy', 'http://localhost:7891'); process.argv = ['node', 'script.js', '--proxy', 'http://localhost:7890']; const argv = await parseArguments(); const settings: Settings = {}; @@ -368,17 +367,16 @@ describe('loadCliConfig', () => { describe('loadCliConfig telemetry', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1113,17 +1111,16 @@ describe('Approval mode tool exclusion logic', () => { describe('loadCliConfig with allowed-mcp-server-names', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1363,17 +1360,16 @@ describe('loadCliConfig model selection', () => { describe('loadCliConfig folderTrustFeature', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1396,17 +1392,16 @@ describe('loadCliConfig folderTrustFeature', () => { describe('loadCliConfig folderTrust', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1477,12 +1472,11 @@ vi.mock('fs', async () => { describe('loadCliConfig with includeDirectories', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); vi.spyOn(process, 'cwd').mockReturnValue( path.resolve(path.sep, 'home', 'user', 'project'), ); @@ -1490,7 +1484,7 @@ describe('loadCliConfig with includeDirectories', () => { afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1530,17 +1524,16 @@ describe('loadCliConfig with includeDirectories', () => { describe('loadCliConfig chatCompression', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1569,20 +1562,19 @@ describe('loadCliConfig chatCompression', () => { describe('loadCliConfig tool exclusions', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; const originalIsTTY = process.stdin.isTTY; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); process.stdin.isTTY = true; }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; process.stdin.isTTY = originalIsTTY; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1629,20 +1621,19 @@ describe('loadCliConfig tool exclusions', () => { describe('loadCliConfig interactive', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; const originalIsTTY = process.stdin.isTTY; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); process.stdin.isTTY = true; }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; process.stdin.isTTY = originalIsTTY; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1681,18 +1672,17 @@ describe('loadCliConfig interactive', () => { describe('loadCliConfig approval mode', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); process.argv = ['node', 'script.js']; // Reset argv for each test }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); @@ -1759,18 +1749,17 @@ describe('loadCliConfig approval mode', () => { describe('loadCliConfig trustedFolder', () => { const originalArgv = process.argv; - const originalEnv = { ...process.env }; beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); - process.env.GEMINI_API_KEY = 'test-api-key'; + vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); process.argv = ['node', 'script.js']; // Reset argv for each test }); afterEach(() => { process.argv = originalArgv; - process.env = originalEnv; + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); |
