aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/proxy.spec.ts
blob: 71f1761c015ce856b37c85b7c9b4d507fd5f026c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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();
  });
});