mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-31 00:16:47 +01:00
Started on unit test for metrics-route
This commit is contained in:
parent
d55122b4c0
commit
a665b1b999
@ -75,7 +75,7 @@ module.exports = function (app, config) {
|
|||||||
|
|
||||||
joi.validate(data, clientRegisterSchema, (err, cleaned) => {
|
joi.validate(data, clientRegisterSchema, (err, cleaned) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
return res.json(400, err);
|
return res.status(400).json(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
clientStrategyStore.insert(cleaned.appName, cleaned.strategies)
|
clientStrategyStore.insert(cleaned.appName, cleaned.strategies)
|
||||||
|
44
test/unit/routes/metrics.test.js
Normal file
44
test/unit/routes/metrics.test.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const clientMetricsStore = require('./mocks/fake-metrics-store');
|
||||||
|
const clientStrategyStore = require('./mocks/fake-client-strategy-store');
|
||||||
|
const clientInstanceStore = require('./mocks/fake-client-instance-store');
|
||||||
|
|
||||||
|
const supertest = require('supertest');
|
||||||
|
const assert = require('assert');
|
||||||
|
const sinon = require('sinon');
|
||||||
|
|
||||||
|
let request;
|
||||||
|
|
||||||
|
describe('Unit: The metrics api', () => {
|
||||||
|
beforeEach(done => {
|
||||||
|
const app = require('../../../app')({
|
||||||
|
baseUriPath: '',
|
||||||
|
stores: {
|
||||||
|
db: sinon.stub(),
|
||||||
|
eventStore: sinon.stub(),
|
||||||
|
featureToggleStore: sinon.stub(),
|
||||||
|
clientMetricsStore,
|
||||||
|
strategyStore: sinon.stub(),
|
||||||
|
clientStrategyStore,
|
||||||
|
clientInstanceStore,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
request = supertest(app);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should register client', (done) => {
|
||||||
|
request
|
||||||
|
.post('/api/client/register')
|
||||||
|
.send({ appName: 'demo', instanceId: 'test', strategies: ['default'], started: Date.now(), interval: 10 })
|
||||||
|
.expect(200, done);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require appName field', (done) => {
|
||||||
|
request
|
||||||
|
.post('/api/client/register')
|
||||||
|
.expect(400, done)
|
||||||
|
});
|
||||||
|
});
|
5
test/unit/routes/mocks/fake-client-instance-store.js
Normal file
5
test/unit/routes/mocks/fake-client-instance-store.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
insert: () => Promise.resolve(),
|
||||||
|
};
|
5
test/unit/routes/mocks/fake-client-strategy-store.js
Normal file
5
test/unit/routes/mocks/fake-client-strategy-store.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
insert: () => Promise.resolve(),
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user