UNPKG

@arisan/data-api

Version:

The Universal Database API Gateway for CLIO's Modules

98 lines (87 loc) 2.54 kB
'use strict'; // eslint-disable-line strict /* Platform Libraries */ const request = require('supertest'); /* Project Libraries */ const app = require('../src/app'); describe('Update Camera Document', () => { before((done) => { app.init({ logLevel: app.LOG_LEVEL.DEBUG, mongoUrl: process.env.CLIO_MONGO_URL, serverPort: process.env.CLIO_DATA_API_PORT, }); app.launch(done); }); let cameraId; it('should create new camera', (done) => { request(app) .post('/cameras') .send({ projectId: 'test', publicAddress: '1.1.1.1', webPort: 11111, }) .expect(201) .expect((res) => { if (res.text.length !== 24) throw new Error('Invalid Recorder ID'); cameraId = res.text; }) .end(/** @type {Function} */done); }); it('should read created camera', (done) => { request(app) .get(`/cameras/${cameraId}`) .expect(200) .expect((res) => console.log(JSON.stringify(res.body, null, 2))) .end(/** @type {Function} */done); }); it('should only update defined fields', (done) => { request(app) .put(`/cameras/${cameraId}`) .send({ webPort: 22222, audio: { encoding: 'hifi' }, streams: { 2: { rtspUrl: 'url2' }, }, }) .expect(200) .end(/** @type {Function} */done); }); it('confirm updated camera reading', (done) => { request(app) .get(`/cameras/${cameraId}`) .expect(200) .expect((res) => console.log(JSON.stringify(res.body, null, 2))) .end(done); }); it('should only update defined fields', (done) => { request(app) .put(`/cameras/${cameraId}`) .send({ publicAddress: '123.123.123.123', audio: { bitRate: 123 }, streams: { 0: { rtspUrl: 'url0' } }, }) .expect(200) .end(/** @type {Function} */done); }); it('confirm updated camera reading', (done) => { request(app) .get(`/cameras/${cameraId}`) .expect(200) .expect((res) => console.log(JSON.stringify(res.body, null, 2))) .end(done); }); it('should update stream status', (done) => { request(app) .put(`/cameras/${cameraId}/streams/0/status`) .send({ recorderId: 'recorder0', status: 'activated', module: 'broker', }) .expect(200) .end(/** @type {Function} */done); }); });