import * as should from 'should'; // import { describe, it } from "mocha-typescript" let toobusyFilter = require('../../../lib/filters/handler/toobusy').ToobusyFilter; let FilterService = require('../../../lib/common/service/filterService').FilterService; let util = require('util'); let mockSession = { key: '123' }; describe('#toobusyFilter', function () { it('should do before filter ok', function (done: Mocha.Done) { let service = new FilterService(); let filter = new toobusyFilter(); service.before(filter); service.beforeFilter(null, {}, mockSession, function (err: Error) { should.not.exist(err); should.exist(mockSession); done(); }); }); it('should do before filter error because of too busy', function (done: Mocha.Done) { let service = new FilterService(); let filter = new toobusyFilter(3); service.before(filter); this.timeout(8888) let exit = false; try { require('toobusy'); } catch (e) { done() return } function load() { service.beforeFilter(null, {}, mockSession, function (err: Error, resp: any) { should.exist(mockSession); console.log('err: ' + err); if (!!err) { exit = true; } }); console.log('exit: ' + exit); if (exit) { return done(); } let start = Date.now(); while ((Date.now() - start) < 250) { for (let i = 0; i < 1e5;) i++; } setTimeout(load, 0); } load(); }); });