mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-04 00:18:01 +01:00
fix: should be more allow about empty metrics
This commit is contained in:
parent
2ceab239ee
commit
826174dfb5
@ -9,10 +9,12 @@ const countSchema = joi
|
|||||||
yes: joi
|
yes: joi
|
||||||
.number()
|
.number()
|
||||||
.min(0)
|
.min(0)
|
||||||
|
.empty('')
|
||||||
.default(0),
|
.default(0),
|
||||||
no: joi
|
no: joi
|
||||||
.number()
|
.number()
|
||||||
.min(0)
|
.min(0)
|
||||||
|
.empty('')
|
||||||
.default(0),
|
.default(0),
|
||||||
variants: joi.object().pattern(joi.string(), joi.number().min(0)),
|
variants: joi.object().pattern(joi.string(), joi.number().min(0)),
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const test = require('ava');
|
const test = require('ava');
|
||||||
|
const supertest = require('supertest');
|
||||||
|
const joi = require('joi');
|
||||||
const store = require('./../../../test/fixtures/store');
|
const store = require('./../../../test/fixtures/store');
|
||||||
const getLogger = require('../../../test/fixtures/no-logger');
|
const getLogger = require('../../../test/fixtures/no-logger');
|
||||||
const supertest = require('supertest');
|
|
||||||
const getApp = require('../../app');
|
const getApp = require('../../app');
|
||||||
|
const { clientMetricsSchema } = require('./metrics-schema');
|
||||||
|
|
||||||
const { EventEmitter } = require('events');
|
const { EventEmitter } = require('events');
|
||||||
const eventBus = new EventEmitter();
|
const eventBus = new EventEmitter();
|
||||||
@ -119,3 +121,35 @@ test('should accept client metrics without yes/no', t => {
|
|||||||
})
|
})
|
||||||
.expect(202);
|
.expect(202);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('shema allow empty strings', t => {
|
||||||
|
const data = {
|
||||||
|
appName: 'java-test',
|
||||||
|
instanceId: 'instance y',
|
||||||
|
bucket: {
|
||||||
|
toggles: { Demo2: { yes: '', no: '', variants: {} } },
|
||||||
|
start: '2019-05-06T08:30:40.514Z',
|
||||||
|
stop: '2019-05-06T09:30:50.515Z',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const { error, value } = joi.validate(data, clientMetricsSchema);
|
||||||
|
t.falsy(error);
|
||||||
|
t.is(value.bucket.toggles.Demo2.yes, 0);
|
||||||
|
t.is(value.bucket.toggles.Demo2.no, 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('shema allow yes=<string nbr>', t => {
|
||||||
|
const data = {
|
||||||
|
appName: 'java-test',
|
||||||
|
instanceId: 'instance y',
|
||||||
|
bucket: {
|
||||||
|
toggles: { Demo2: { yes: '12', no: 256, variants: {} } },
|
||||||
|
start: '2019-05-06T08:30:40.514Z',
|
||||||
|
stop: '2019-05-06T09:30:50.515Z',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const { error, value } = joi.validate(data, clientMetricsSchema);
|
||||||
|
t.falsy(error);
|
||||||
|
t.is(value.bucket.toggles.Demo2.yes, 12);
|
||||||
|
t.is(value.bucket.toggles.Demo2.no, 256);
|
||||||
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user