2023-10-03 11:14:36 +08:00
|
|
|
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 = {
|
|
|
|
strictSSL: true,
|
|
|
|
timeout: 60000,
|
|
|
|
headers: {
|
|
|
|
'User-Agent': ua(),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
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 = {
|
|
|
|
strictSSL: true,
|
|
|
|
proxy: proxy,
|
|
|
|
timeout: 60000,
|
|
|
|
headers: {
|
|
|
|
'User-Agent': ua(),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
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 = {
|
|
|
|
strictSSL: true,
|
|
|
|
timeout: 60000,
|
|
|
|
headers: {
|
|
|
|
'User-Agent': ua(),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
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 = {
|
|
|
|
strictSSL: false,
|
|
|
|
timeout: 60000,
|
|
|
|
headers: {
|
|
|
|
'User-Agent': ua(),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
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 = {
|
|
|
|
strictSSL: true,
|
|
|
|
timeout: 60000,
|
|
|
|
headers: {
|
|
|
|
'User-Agent': ua(),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
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 = {
|
|
|
|
strictSSL: true,
|
|
|
|
timeout: 60000,
|
|
|
|
headers: {
|
|
|
|
'User-Agent': ua(),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
assert.deepStrictEqual(opts(), expected);
|
|
|
|
});
|
|
|
|
|
|
|
|
afterEach(function() {
|
|
|
|
process.env.npm_config_sass_reject_unauthorized = undefined;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|