[Monitoring] Fix 500 error from /api/stats (#36986)

* Fix 500 and add test for it

* Return an empty object so the logic later will still execute

* Update tests
This commit is contained in:
Chris Roberson 2019-05-24 09:11:05 -04:00 committed by GitHub
parent 3da94ccb0d
commit eb2ede6ca2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View file

@ -80,7 +80,7 @@ export function registerStatsApi(kbnServer, server, config) {
return boom.serverUnavailable(STATS_NOT_READY_MESSAGE);
}
const usagePromise = shouldGetUsage ? getUsage(callCluster) : Promise.resolve();
const usagePromise = shouldGetUsage ? getUsage(callCluster) : Promise.resolve({});
try {
const [ usage, clusterUuid ] = await Promise.all([
usagePromise,

View file

@ -120,13 +120,25 @@ export default function ({ getService }) {
});
describe('exclude usage', () => {
it('should exclude usage from the API response', () => {
it('should include an empty usage object from the API response', () => {
return supertest
.get('/api/stats?extended&exclude_usage')
.expect('Content-Type', /json/)
.expect(200)
.then(({ body }) => {
expect(body).to.not.have.property('usage');
expect(body).to.have.property('usage');
expect(body.usage).to.eql({});
});
});
it('should include an empty usage object from the API response if `legacy` is provided', () => {
return supertest
.get('/api/stats?extended&exclude_usage&legacy')
.expect('Content-Type', /json/)
.expect(200)
.then(({ body }) => {
expect(body).to.have.property('usage');
expect(body.usage).to.eql({});
});
});
});