UNPKG

btrz-health-check

Version:

A series of classes that will ping different service types to verify accessibility.

46 lines (41 loc) 1.76 kB
"use strict"; describe("HealthCheckers", function () { let HealthCheckers = require("../src/health-checkers").HealthCheckers, expect = require("chai").expect; it("should include the ec2 instance Id and the git revision", function (done) { var checker = new HealthCheckers(); checker.checkStatus([]).then(function (result) { expect(result.instanceId).to.not.be.undefined; expect(result.commit).to.not.be.undefined; expect(result.build).to.be.eql("123456789"); done(); }); }); it("should return 200 if all services are ok", function (done) { var checker = new HealthCheckers(), checks = [ {checkStatus: function () {return Promise.resolve({name: "MongoDb", status: 200}); }}, {checkStatus: function () {return Promise.resolve({name: "SQS", status: 200}); }}, {checkStatus: function () {return Promise.resolve({name: "Inventory", status: 200}); }} ]; checker.checkStatus(checks).then(function (result) { expect(result.status).to.be.eql(200); expect(result.services.length).to.be.eql(3); done(); }); }); it("should return 500 and the failing services", function (done) { var checker = new HealthCheckers(), checks = [ {checkStatus: function () {return Promise.resolve({name: "MongoDb", status: 200}); }}, {checkStatus: function () {return Promise.reject({name: "SQS", status: 500}); }}, {checkStatus: function () {return Promise.resolve({name: "Inventory", status: 200}); }} ]; checker.checkStatus(checks).then(function (result) { expect(result.status).to.be.eql(500); expect(result.services[0].name).to.be.eql("SQS"); expect(result.services.length).to.be.eql(1); done(); }); }); });