mirror of
https://github.com/http-party/node-http-proxy.git
synced 2025-12-08 20:59:18 +00:00
101 lines
2.8 KiB
JavaScript
101 lines
2.8 KiB
JavaScript
var common = require('../lib/http-proxy/common'),
|
|
expect = require('expect.js');
|
|
|
|
describe('lib/http-proxy/common.js', function () {
|
|
describe('#setupOutgoing', function () {
|
|
it('should setup the correct headers', function () {
|
|
var outgoing = {};
|
|
common.setupOutgoing(outgoing,
|
|
{
|
|
agent : '?',
|
|
target: {
|
|
host : 'hey',
|
|
hostname : 'how',
|
|
socketPath: 'are',
|
|
port : 'you',
|
|
},
|
|
headers: {'fizz': 'bang', 'overwritten':true},
|
|
},
|
|
{
|
|
method : 'i',
|
|
url : 'am',
|
|
headers : {'pro':'xy','overwritten':false}
|
|
});
|
|
|
|
expect(outgoing.host).to.eql('hey');
|
|
expect(outgoing.hostname).to.eql('how');
|
|
expect(outgoing.socketPath).to.eql('are');
|
|
expect(outgoing.port).to.eql('you');
|
|
expect(outgoing.agent).to.eql('?');
|
|
|
|
expect(outgoing.method).to.eql('i');
|
|
expect(outgoing.path).to.eql('am');
|
|
|
|
expect(outgoing.headers.pro).to.eql('xy');
|
|
expect(outgoing.headers.fizz).to.eql('bang');
|
|
expect(outgoing.headers.overwritten).to.eql(true);
|
|
});
|
|
|
|
it('should set the agent to false if none is given', function () {
|
|
var outgoing = {};
|
|
common.setupOutgoing(outgoing, {target: {},}, {});
|
|
expect(outgoing.agent).to.eql(false);
|
|
});
|
|
|
|
it('set the port according to the protocol', function () {
|
|
var outgoing = {};
|
|
common.setupOutgoing(outgoing,
|
|
{
|
|
agent : '?',
|
|
target: {
|
|
host : 'how',
|
|
hostname : 'are',
|
|
socketPath: 'you',
|
|
protocol: 'https:'
|
|
}
|
|
},
|
|
{
|
|
method : 'i',
|
|
url : 'am',
|
|
headers : 'proxy'
|
|
});
|
|
|
|
expect(outgoing.host).to.eql('how');
|
|
expect(outgoing.hostname).to.eql('are');
|
|
expect(outgoing.socketPath).to.eql('you');
|
|
expect(outgoing.agent).to.eql('?');
|
|
|
|
expect(outgoing.method).to.eql('i');
|
|
expect(outgoing.path).to.eql('am');
|
|
expect(outgoing.headers).to.eql('proxy')
|
|
|
|
expect(outgoing.port).to.eql(443);
|
|
});
|
|
});
|
|
|
|
describe('#setupSocket', function () {
|
|
it('should setup a socket', function () {
|
|
var socketConfig = {
|
|
timeout: null,
|
|
nodelay: false,
|
|
keepalive: false
|
|
},
|
|
stubSocket = {
|
|
setTimeout: function (num) {
|
|
socketConfig.timeout = num;
|
|
},
|
|
setNoDelay: function (bol) {
|
|
socketConfig.nodelay = bol;
|
|
},
|
|
setKeepAlive: function (bol) {
|
|
socketConfig.keepalive = bol;
|
|
}
|
|
}
|
|
returnValue = common.setupSocket(stubSocket);
|
|
|
|
expect(socketConfig.timeout).to.eql(0);
|
|
expect(socketConfig.nodelay).to.eql(true);
|
|
expect(socketConfig.keepalive).to.eql(true);
|
|
});
|
|
});
|
|
}); |