1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
unleash.unleash/lib/routes/health-check.test.js

65 lines
1.5 KiB
JavaScript
Raw Normal View History

2016-11-13 15:31:10 +01:00
'use strict';
2018-12-17 09:24:49 +01:00
const test = require('ava');
2016-11-13 15:31:10 +01:00
const supertest = require('supertest');
const { EventEmitter } = require('events');
const store = require('../../test/fixtures/store');
const getLogger = require('../../test/fixtures/no-logger');
const getApp = require('../app');
2016-11-13 15:31:10 +01:00
const eventBus = new EventEmitter();
function getSetup() {
2016-11-13 15:31:10 +01:00
const stores = store.createStores();
const { db } = stores;
const app = getApp({
2016-11-13 15:31:10 +01:00
baseUriPath: '',
stores,
eventBus,
getLogger,
2016-11-13 15:31:10 +01:00
});
return {
db,
request: supertest(app),
};
}
2021-01-06 13:25:25 +01:00
test.afterEach(() => {
getLogger.setMuteError(false);
});
2016-11-13 15:31:10 +01:00
test('should give 500 when db is failing', t => {
2021-01-06 13:25:25 +01:00
getLogger.setMuteError(true);
t.plan(2);
2016-11-13 15:31:10 +01:00
const { request, db } = getSetup();
db.select = () => ({
from: () => Promise.reject(new Error('db error')),
});
2017-11-02 09:23:38 +01:00
return request
.get('/health')
.expect(500)
.expect(res => {
t.true(res.status === 500);
t.true(res.body.health === 'BAD');
});
2016-11-13 15:31:10 +01:00
});
test('should give 200 when db is not failing', t => {
t.plan(0);
2016-11-13 15:31:10 +01:00
const { request } = getSetup();
return request.get('/health').expect(200);
2016-11-13 15:31:10 +01:00
});
test('should give health=GOOD when db is not failing', t => {
t.plan(2);
2016-11-13 15:31:10 +01:00
const { request } = getSetup();
2017-11-02 09:23:38 +01:00
return request
.get('/health')
.expect(200)
.expect(res => {
t.true(res.status === 200);
t.true(res.body.health === 'GOOD');
});
2016-11-13 15:31:10 +01:00
});