@arisan/data-api
Version:
The Universal Database API Gateway for CLIO's Modules
69 lines (56 loc) • 2.08 kB
JavaScript
;
var _DataAPI = require('../DataAPI');
var _DataAPI2 = _interopRequireDefault(_DataAPI);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable import/first */
//region 1. Platform Libraries
const request = require('supertest');
//endregion
//region 2. Project Libraries
//endregion
describe('Route /observers', () => {
const dataAPI = new _DataAPI2.default();
before(function before(done) {
this.timeout(3000);
dataAPI.initialize({
environment: 'unit-test',
heartbeatInterval: 10,
logLevel: 'ERROR',
mongoUrl: process.env.CLIO_MONGO_URL,
port: 15925
});
dataAPI.start(done);
});
let observerID;
describe('POST', () => {
it('should create new streamer', done => {
request(dataAPI.expressApp).post('/observers').send({
port: 15925,
publicIp: '15.15.15.15'
}).expect(201).expect(res => {
if (res.text.length !== 24) {
throw new Error('Invalid Observer ID');
}
observerID = res.text;
}).end( /** @type function */done);
});
});
describe('PUT', () => {
it('should update existing observer', done => {
request(dataAPI.expressApp).put(`/observers/${observerID}`).send({
streamIds: [],
cpuUsagePercentage: 2.22,
memoryUsagePercentage: 22.22,
hddUsageKB: 2222,
hddTotalKB: 22222,
netUploadBytesPerSecond: 2222,
netDownloadBytesPerSecond: 2222
}).expect(200).end( /** @type function */done);
});
it('should should if body empty', done => {
request(dataAPI.expressApp).put(`/observers/${observerID}`).expect(400).end( /** @type function */done);
});
});
after(done => dataAPI.stop(done));
});
//# sourceMappingURL=mountObservers.spec.js.map