|
|
|
const decodeQueryIp = require('./decodequeryip.js');
|
|
|
|
const Permission = require('../permission/permission.js');
|
|
|
|
const ROOT = new Permission();
|
|
|
|
ROOT.setAll(Permission.allPermissions);
|
|
|
|
const NO_PERMISSION = new Permission();
|
|
|
|
|
|
|
|
describe('decode query ip', () => {
|
|
|
|
|
|
|
|
const cases = [
|
|
|
|
{ in: { query: null, permission: ROOT }, out: null },
|
|
|
|
{ in: { query: {}, permission: ROOT }, out: null },
|
|
|
|
{ in: { query: { ip: '10.0.0.1' }, permission: ROOT }, out: '10.0.0.1' },
|
|
|
|
{ in: { query: { ip: '10.0.0.1' }, permission: NO_PERMISSION }, out: null },
|
|
|
|
{ in: { query: { ip: '8s7AGX4n.qHsw9mp.uw54Nfl.IP' }, permission: ROOT }, out: '8s7AGX4n.qHsw9mp.uw54Nfl.IP' },
|
|
|
|
{ in: { query: { ip: '8s7AGX4n.qHsw9mp.uw54Nfl.IP' }, permission: NO_PERMISSION }, out: '8s7AGX4n.qHsw9mp.uw54Nfl.IP' },
|
|
|
|
];
|
|
|
|
|
|
|
|
for(let i in cases) {
|
|
|
|
test(`should output ${cases[i].out} for an input of ${cases[i].in}`, () => {
|
|
|
|
expect(decodeQueryIp(cases[i].in.query, cases[i].in.permission)).toStrictEqual(cases[i].out);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|