pdnsmanager/backend/test/tests/remote-ip.js
2018-04-17 21:30:44 +02:00

46 lines
1.3 KiB
JavaScript

const test = require('../testlib');
test.run(async function () {
await test('admin', async function (assert, req) {
var res = await req({
url: '/remote/ip',
method: 'get'
});
assert.equal(res.status, 200);
assert.equal(res.data, { ip: '127.0.0.1' }, 'No proxy header should return tcp client ip.');
var res = await req({
url: '/remote/ip',
method: 'get',
headers: {
'X-Forwarded-For': '1.2.3.4, 127.0.0.1'
}
});
assert.equal(res.status, 200);
assert.equal(res.data, { ip: '1.2.3.4' }, 'X-Forwarded-For Test 1');
var res = await req({
url: '/remote/ip',
method: 'get',
headers: {
'X-Forwarded-For': '4.3.2.1, 1.2.3.4, 127.0.0.1'
}
});
assert.equal(res.status, 200);
assert.equal(res.data, { ip: '1.2.3.4' }, 'X-Forwarded-For Test 2');
var res = await req({
url: '/remote/ip',
method: 'get',
headers: {
'X-Forwarded-For': '4.3.2.1, 1.2.3.4'
}
});
assert.equal(res.status, 200);
assert.equal(res.data, { ip: '127.0.0.1' }, 'X-Forwarded-For Test 3');
});
});