summaryrefslogtreecommitdiff
path: root/packages/cli/src/config/config.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/config/config.test.ts')
-rw-r--r--packages/cli/src/config/config.test.ts67
1 files changed, 67 insertions, 0 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts
index 39259fe1..cc0f112a 100644
--- a/packages/cli/src/config/config.test.ts
+++ b/packages/cli/src/config/config.test.ts
@@ -187,6 +187,73 @@ describe('loadCliConfig', () => {
const config = await loadCliConfig(settings, [], 'test-session', argv);
expect(config.getShowMemoryUsage()).toBe(true);
});
+
+ it(`should leave proxy to empty by default`, async () => {
+ process.argv = ['node', 'script.js'];
+ const argv = await parseArguments();
+ const settings: Settings = {};
+ const config = await loadCliConfig(settings, [], 'test-session', argv);
+ expect(config.getProxy()).toBeFalsy();
+ });
+
+ const proxy_url = 'http://localhost:7890';
+ const testCases = [
+ {
+ input: {
+ env_name: 'https_proxy',
+ proxy_url,
+ },
+ expected: proxy_url,
+ },
+ {
+ input: {
+ env_name: 'http_proxy',
+ proxy_url,
+ },
+ expected: proxy_url,
+ },
+ {
+ input: {
+ env_name: 'HTTPS_PROXY',
+ proxy_url,
+ },
+ expected: proxy_url,
+ },
+ {
+ input: {
+ env_name: 'HTTP_PROXY',
+ proxy_url,
+ },
+ expected: proxy_url,
+ },
+ ];
+ 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;
+ process.argv = ['node', 'script.js'];
+ const argv = await parseArguments();
+ const settings: Settings = {};
+ const config = await loadCliConfig(settings, [], 'test-session', argv);
+ expect(config.getProxy()).toBe(expected);
+ });
+ });
+
+ it('should set proxy when --proxy flag is present', async () => {
+ process.argv = ['node', 'script.js', '--proxy', 'http://localhost:7890'];
+ const argv = await parseArguments();
+ const settings: Settings = {};
+ const config = await loadCliConfig(settings, [], 'test-session', argv);
+ expect(config.getProxy()).toBe('http://localhost:7890');
+ });
+
+ 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';
+ process.argv = ['node', 'script.js', '--proxy', 'http://localhost:7890'];
+ const argv = await parseArguments();
+ const settings: Settings = {};
+ const config = await loadCliConfig(settings, [], 'test-session', argv);
+ expect(config.getProxy()).toBe('http://localhost:7890');
+ });
});
describe('loadCliConfig telemetry', () => {