UNPKG

do-node-balancer

Version:
74 lines (66 loc) 1.56 kB
const test = require('tape'); const fs = require('fs'); const Provider = require('../lib/digitalocean'); const joi = require('joi'); const res = JSON.parse(fs.readFileSync('./test/res.json')); test('do-node-balancer tests', (t1) => { t1.test('tests', (t2) => { t2.test('get a server without update', (t) => { const doRequest = { getDropletsByTag: () => new Promise((resolve) => { resolve(res.good_1_droplet); }), }; const provider = Provider({ joi, doRequest, doTags: ['dummy'], opts: { doUpdateTime: 0, }, }); t.notOk(provider.getServer(['dummy'])); t.end(); }); t2.test('get a server with update', (t) => { const doRequest = { getDropletsByTag: () => new Promise((resolve) => { resolve(res.good_1_droplet); }), }; const provider = Provider({ joi, doRequest, doTags: ['dummy'], opts: { doUpdateTime: 0, }, }); provider.updateServers(); setTimeout(() => { t.ok(provider.getServer(['dummy']), 'Got a server'); t.end(); }, 0); }); t2.test('get a server after update with no droplets', (t) => { const doRequest = { getDropletsByTag: () => new Promise((resolve) => { resolve(res.bad_0_droplets); }), }; const provider = Provider({ joi, doRequest, doTags: ['dummy'], opts: { doUpdateTime: 0, }, }); provider.updateServers(); setTimeout(() => { t.equal(Object.keys(provider.getServerList()).length, 0, 'Empty Server List'); t.end(); }, 0); }); }); });