import { bootstrap, hasProxy } from './proxy'; describe('proxy', () => { const httpProxy = 'http://example.org/http-proxy'; const httpsProxy = 'http://example.org/https-proxy'; const noProxy = 'http://example.org/no-proxy'; beforeEach(() => { delete process.env.HTTP_PROXY; delete process.env.http_proxy; delete process.env.HTTPS_PROXY; delete process.env.https_proxy; delete process.env.NO_PROXY; delete process.env.no_proxy; }); it('respects HTTP_PROXY', () => { process.env.HTTP_PROXY = httpProxy; bootstrap(); expect(hasProxy()).toBeTrue(); }); it('copies upper case HTTP_PROXY to http_proxy', () => { process.env.HTTP_PROXY = httpProxy; bootstrap(); expect(hasProxy()).toBeTrue(); expect(process.env.HTTP_PROXY).toBeDefined(); expect(process.env.http_proxy).toBeDefined(); expect(process.env.HTTPS_PROXY).toBeUndefined(); expect(process.env.https_proxy).toBeUndefined(); expect(process.env.NO_PROXY).toBeUndefined(); expect(process.env.no_proxy).toBeUndefined(); }); it('respects HTTPS_PROXY', () => { process.env.HTTPS_PROXY = httpsProxy; bootstrap(); expect(hasProxy()).toBeTrue(); }); it('copies upper case HTTPS_PROXY to https_proxy', () => { process.env.HTTPS_PROXY = httpsProxy; bootstrap(); expect(hasProxy()).toBeTrue(); expect(process.env.HTTPS_PROXY).toBeDefined(); expect(process.env.https_proxy).toBeDefined(); expect(process.env.HTTP_PROXY).toBeUndefined(); expect(process.env.http_proxy).toBeUndefined(); expect(process.env.NO_PROXY).toBeUndefined(); expect(process.env.no_proxy).toBeUndefined(); }); it('does nothing', () => { process.env.no_proxy = noProxy; bootstrap(); expect(hasProxy()).toBeFalse(); }); });