You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
3.2 KiB
135 lines
3.2 KiB
var assert = require('assert').strict, |
|
ua = require('../scripts/util/useragent'), |
|
opts = require('../scripts/util/downloadoptions'); |
|
|
|
|
|
describe('util', function() { |
|
describe('downloadoptions', function() { |
|
describe('without a proxy', function() { |
|
it('should look as we expect', function() { |
|
var expected = { |
|
rejectUnauthorized: true, |
|
timeout: 60000, |
|
headers: { |
|
'User-Agent': ua(), |
|
}, |
|
encoding: null, |
|
}; |
|
|
|
assert.deepStrictEqual(opts(), expected); |
|
}); |
|
}); |
|
|
|
describe('with an npm config proxy', function() { |
|
var proxy = 'http://test.proxy:1234'; |
|
|
|
before(function() { |
|
process.env.npm_config_proxy = proxy; |
|
}); |
|
|
|
after(function() { |
|
delete process.env.npm_config_proxy; |
|
}); |
|
|
|
it('should look as we expect', function() { |
|
var expected = { |
|
rejectUnauthorized: true, |
|
proxy: proxy, |
|
timeout: 60000, |
|
headers: { |
|
'User-Agent': ua(), |
|
}, |
|
encoding: null, |
|
}; |
|
|
|
assert.deepStrictEqual(opts(), expected); |
|
}); |
|
}); |
|
|
|
describe('with an env proxy proxy', function() { |
|
var proxy = 'http://test.proxy:1234'; |
|
|
|
before(function() { |
|
process.env.HTTP_PROXY = proxy; |
|
}); |
|
|
|
after(function() { |
|
delete process.env.HTTP_PROXY; |
|
}); |
|
|
|
it('should look as we expect', function() { |
|
var expected = { |
|
rejectUnauthorized: true, |
|
timeout: 60000, |
|
headers: { |
|
'User-Agent': ua(), |
|
}, |
|
encoding: null, |
|
}; |
|
|
|
assert.deepStrictEqual(opts(), expected); |
|
}); |
|
}); |
|
|
|
describe('with SASS_REJECT_UNAUTHORIZED set to false', function() { |
|
beforeEach(function() { |
|
process.env.SASS_REJECT_UNAUTHORIZED = '0'; |
|
}); |
|
|
|
it('should look as we expect', function() { |
|
var expected = { |
|
rejectUnauthorized: false, |
|
timeout: 60000, |
|
headers: { |
|
'User-Agent': ua(), |
|
}, |
|
encoding: null, |
|
}; |
|
|
|
assert.deepStrictEqual(opts(), expected); |
|
}); |
|
}); |
|
|
|
describe('with SASS_REJECT_UNAUTHORIZED set to true', function() { |
|
beforeEach(function() { |
|
process.env.SASS_REJECT_UNAUTHORIZED = '1'; |
|
}); |
|
|
|
it('should look as we expect', function() { |
|
var expected = { |
|
rejectUnauthorized: true, |
|
timeout: 60000, |
|
headers: { |
|
'User-Agent': ua(), |
|
}, |
|
encoding: null, |
|
}; |
|
|
|
assert.deepStrictEqual(opts(), expected); |
|
}); |
|
}); |
|
|
|
describe('with npm_config_sass_reject_unauthorized set to true', function() { |
|
beforeEach(function() { |
|
process.env.npm_config_sass_reject_unauthorized = true; |
|
}); |
|
|
|
it('should look as we expect', function() { |
|
var expected = { |
|
rejectUnauthorized: true, |
|
timeout: 60000, |
|
headers: { |
|
'User-Agent': ua(), |
|
}, |
|
encoding: null, |
|
}; |
|
|
|
assert.deepStrictEqual(opts(), expected); |
|
}); |
|
|
|
afterEach(function() { |
|
process.env.npm_config_sass_reject_unauthorized = undefined; |
|
}); |
|
}); |
|
}); |
|
});
|
|
|