fix dns tests
This commit is contained in:
@@ -866,7 +866,7 @@ describe('dns provider', function () {
|
||||
|
||||
describe('route53', function () {
|
||||
// do not clear this with [] but .length = 0 so we don't loose the reference in mockery
|
||||
let awsAnswerQueue = [];
|
||||
let awsAnswerQueue = []; // every element itself is array: [0] is error and [1] is result
|
||||
|
||||
let AWS_HOSTED_ZONES = null;
|
||||
|
||||
@@ -903,24 +903,17 @@ describe('dns provider', function () {
|
||||
};
|
||||
|
||||
function mockery(queue) {
|
||||
return function (options, callback) {
|
||||
return function (options) {
|
||||
expect(options).to.be.an(Object);
|
||||
|
||||
let elem = queue.shift();
|
||||
if (!Array.isArray(elem)) throw (new Error('Mock answer required'));
|
||||
|
||||
// if no callback passed, return a req object with send();
|
||||
if (typeof callback !== 'function') {
|
||||
return {
|
||||
httpRequest: { headers: {} },
|
||||
send: function (callback) {
|
||||
expect(callback).to.be.a(Function);
|
||||
callback(elem[0], elem[1]);
|
||||
}
|
||||
};
|
||||
} else {
|
||||
callback(elem[0], elem[1]);
|
||||
}
|
||||
return {
|
||||
promise: async function () {
|
||||
const elem = queue.shift();
|
||||
if (!Array.isArray(elem)) throw (new Error('Mock answer required'));
|
||||
if (elem[0]) throw elem[0];
|
||||
return elem[1];
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1028,7 +1021,7 @@ describe('dns provider', function () {
|
||||
|
||||
describe('gcdns', function () {
|
||||
let HOSTED_ZONES = [];
|
||||
let zoneQueue = [];
|
||||
let zoneQueue = []; // every element itself is array: [0] is error and [1] is result
|
||||
let _OriginalGCDNS;
|
||||
|
||||
before(async function () {
|
||||
@@ -1042,29 +1035,16 @@ describe('dns provider', function () {
|
||||
};
|
||||
|
||||
function mockery(queue) {
|
||||
return function () {
|
||||
let callback = arguments[--arguments.length];
|
||||
|
||||
let elem = queue.shift();
|
||||
return async function () {
|
||||
const elem = queue.shift();
|
||||
if (!Array.isArray(elem)) throw (new Error('Mock answer required'));
|
||||
|
||||
// if no callback passed, return a req object with send();
|
||||
if (typeof callback !== 'function') {
|
||||
return {
|
||||
httpRequest: { headers: {} },
|
||||
send: function (callback) {
|
||||
expect(callback).to.be.a(Function);
|
||||
callback.apply(callback, elem);
|
||||
}
|
||||
};
|
||||
} else {
|
||||
callback.apply(callback, elem);
|
||||
}
|
||||
if (elem[0]) throw elem[0];
|
||||
return [elem[1]]; // gcdns uses second element for apiResponse
|
||||
};
|
||||
}
|
||||
|
||||
function fakeZone(name, ns, recordQueue) {
|
||||
let zone = new GCDNS().zone(name.replace('.', '-'));
|
||||
const zone = new GCDNS().zone(name.replace('.', '-'));
|
||||
zone.metadata.dnsName = name + '.';
|
||||
zone.metadata.nameServers = ns || ['8.8.8.8', '8.8.4.4'];
|
||||
zone.getRecords = mockery(recordQueue || zoneQueue);
|
||||
|
||||
Reference in New Issue
Block a user