@arisan/data-api
Version:
The Universal Database API Gateway for CLIO's Modules
98 lines (87 loc) • 2.54 kB
JavaScript
; // 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);
});
});