UNPKG

toxy

Version:

Hackable HTTP proxy to simulate server failure scenarios and network conditions

53 lines (44 loc) 1.45 kB
const expect = require('chai').expect const Rule = require('../lib/rule') const Directive = require('../lib/directive') suite('rule', function () { test('enable/disable', function () { const rule = new Rule() const directive = new Directive(function rule () { throw new Error('Rule called!') }) rule._rules(directive.handler()) expect(rule._rules.stack).to.have.length(1) rule.disableRule('rule') expect(rule.getRules()[0].isEnabled()).to.be.false }) test('flush', function () { const rule = new Rule() const directive = new Directive(function rule () { throw new Error('Rule called!') }) rule._rules(directive.handler()) expect(rule._rules.stack).to.have.length(1) rule.flushRules() expect(rule._rules.stack).to.have.length(0) }) test('remove', function () { const rule = new Rule() const directive = new Directive(function rule () { throw new Error('Rule called!') }) rule._rules(directive.handler()) expect(rule._rules.stack).to.have.length(1) rule.removeRule('rule') expect(rule._rules.stack).to.have.length(0) }) test('isEnabled', function () { const rule = new Rule() const directive = new Directive(function rule () { throw new Error('Rule called!') }) rule._rules(directive.handler()) expect(rule._rules.stack).to.have.length(1) expect(rule.isRuleEnabled('rule')).to.be.true }) })