mirror of
https://github.com/actions/http-client.git
synced 2025-02-25 09:03:09 +00:00
96 lines
3.4 KiB
TypeScript
96 lines
3.4 KiB
TypeScript
import * as pm from '../proxy';
|
|
import * as url from 'url';
|
|
|
|
describe('proxy', () => {
|
|
beforeEach(() => {
|
|
|
|
})
|
|
|
|
afterEach(() => {
|
|
|
|
})
|
|
|
|
it('does not return proxyUrl if variables not set', () => {
|
|
_clearVars();
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://github.com'));
|
|
expect(proxyUrl).toBeUndefined();
|
|
})
|
|
|
|
it('returns proxyUrl if https_proxy set for https url', () => {
|
|
_clearVars();
|
|
process.env["https_proxy"] = "https://myproxysvr";
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://github.com'));
|
|
expect(proxyUrl).toBeDefined();
|
|
})
|
|
|
|
it('does not return proxyUrl if http_proxy set for https url', () => {
|
|
_clearVars();
|
|
process.env["http_proxy"] = "https://myproxysvr";
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://github.com'));
|
|
expect(proxyUrl).toBeUndefined();
|
|
})
|
|
|
|
it('returns proxyUrl if http_proxy set for http url', () => {
|
|
_clearVars();
|
|
process.env["http_proxy"] = "http://myproxysvr";
|
|
let proxyUrl = pm.getProxyUrl(url.parse('http://github.com'));
|
|
expect(proxyUrl).toBeDefined();
|
|
})
|
|
|
|
it('does not return proxyUrl if only host as no_proxy list', () => {
|
|
_clearVars();
|
|
process.env["https_proxy"] = "https://myproxysvr";
|
|
process.env["no_proxy"] = "myserver"
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://myserver'));
|
|
expect(proxyUrl).toBeUndefined();
|
|
})
|
|
|
|
it('does not return proxyUrl if host in no_proxy list', () => {
|
|
_clearVars();
|
|
process.env["https_proxy"] = "https://myproxysvr";
|
|
process.env["no_proxy"] = "otherserver,myserver,anotherserver:8080"
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://myserver'));
|
|
expect(proxyUrl).toBeUndefined();
|
|
})
|
|
|
|
it('does not return proxyUrl if host in no_proxy list with spaces', () => {
|
|
_clearVars();
|
|
process.env["https_proxy"] = "https://myproxysvr";
|
|
process.env["no_proxy"] = "otherserver, myserver ,anotherserver:8080"
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://myserver'));
|
|
expect(proxyUrl).toBeUndefined();
|
|
})
|
|
|
|
it('does not return proxyUrl if host in no_proxy list with ports', () => {
|
|
_clearVars();
|
|
process.env["https_proxy"] = "https://myproxysvr";
|
|
process.env["no_proxy"] = "otherserver, myserver:8080 ,anotherserver"
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://myserver:8080'));
|
|
expect(proxyUrl).toBeUndefined();
|
|
})
|
|
|
|
it('returns proxyUrl if https_proxy set and not in no_proxy list', () => {
|
|
_clearVars();
|
|
process.env["https_proxy"] = "https://myproxysvr";
|
|
process.env["no_proxy"] = "otherserver, myserver ,anotherserver:8080"
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://github.com'));
|
|
expect(proxyUrl).toBeDefined();
|
|
})
|
|
|
|
it('returns proxyUrl if https_proxy set empty no_proxy set', () => {
|
|
_clearVars();
|
|
process.env["https_proxy"] = "https://myproxysvr";
|
|
process.env["no_proxy"] = ""
|
|
let proxyUrl = pm.getProxyUrl(url.parse('https://github.com'));
|
|
expect(proxyUrl).toBeDefined();
|
|
})
|
|
})
|
|
|
|
function _clearVars() {
|
|
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;
|
|
} |