UNPKG

express-slas

Version:
82 lines (70 loc) 2.15 kB
"use strict"; var server = require("./server"), request = require("supertest"), assert = require("chai").assert, port = 3001, app; describe("Using default server with default settings", function(){ before(function(){ app = server( port ); }); after(function(){ app.close(); }); describe("Starting server", function(){ it("Should succeed", function(done){ request(app).get("/success").expect(200); done(); }); }); }); describe("Using default server with callback settings", function(done){ before(function(){ let settings = { sla: 1000, cb (time){ assert.equal(true,false, `Callback should not be executed in a normal call, executed after ${time} ms`); done(); } }; app = server( port, settings ); }); after(function(){ app.close(); }); describe("Starting server", function(){ it("Should not apply callback", function(done){ request(app).get("/success").expect(200).end(function(req, res){ done(); }); }); }); }); describe("Using default server with callback settings, callback should be executed", function(complete){ var executed = false; before(function(){ let settings = { sla: 90, disableFor: 5, logError: true, cb (time){ console.log("Callback executed as expected"); executed = true; } }; app = server( port, settings ); }); after(function(){ app.close(); }); describe("When SLA is not met and Callback is defined", function(){ it("Should apply callback", function(done){ request(app).get("/slow").expect(200).end(function(req, res){ setTimeout(function(){ assert.equal(executed, true, "Callback is expected to be executed"); }, 10); done(); }); }); }); });