UNPKG

toxy

Version:

Hackable HTTP proxy to simulate server failure scenarios and network conditions

57 lines (48 loc) 1.57 kB
const expect = require('chai').expect const responseStatus = require('../..').rules.responseStatus suite('rules#responseStatus', function () { test('default', function () { assert(null, 200, equals(false)) assert(null, 500, equals(true)) assert(null, 0, equals(undefined)) assert(null, null, equals(undefined)) }) test('range', function () { assert([200, 400], 204, equals(false)) assert([200, 400], 400, equals(false)) assert([200, 400], 500, equals(true)) assert([200, 200], 201, equals(true)) }) test('value', function () { assert(204, 204, equals(false)) assert(400, 400, equals(false)) assert(300, 500, equals(true)) assert(-1, 200, equals(true)) }) test('lower', function () { assert({ lower: 300 }, 204, equals(false)) assert({ lower: 300 }, 400, equals(true)) assert({ lower: 0 }, 200, equals(false)) }) test('higher', function () { assert({ higher: 200 }, 204, equals(false)) assert({ higher: 300 }, 200, equals(true)) assert({ higher: 0 }, 200, equals(false)) }) test('include', function () { assert({ include: [204] }, 204, equals(false)) assert({ include: [201] }, 200, equals(true)) assert({ include: [204, 400, 200] }, 200, equals(false)) assert({ include: [] }, 200, equals(true)) }) }) function assert (opts, status, assert) { const res = { statusCode: status } responseStatus(opts)(null, res, assert) } function equals (value) { return function (err, ignore) { expect(err).to.be.null expect(ignore).to.be.equal(value) } }