UNPKG

remjson

Version:

JSON-RPC 1.0/2.0 compliant server and client

58 lines (47 loc) 1.57 kB
var should = require('should'); var support = require('./support'); var common = support.common; var remjson = require(__dirname + '/..'); var connect = require('connect'); var bodyParser = require('body-parser'); describe('RemJson.Middleware', function () { var app = connect(); var server = null; // set in before() var client = remjson.client.http({ reviver: support.server.options.reviver, replacer: support.server.options.replacer, host: 'localhost', port: 3000 }); before(function (done) { app.use(bodyParser.json({reviver: support.server.options.reviver})); app.use(remjson.server(support.server.methods, support.server.options).middleware()); server = app.listen(3000, done); }); after(function () { server.close(); }); describe('common tests', common(client)); describe('options.end false', function () { before(function () { // change last connect stack handle to one with new options app.stack[app.stack.length - 1].handle = remjson.server(support.server.methods, support.server.options).middleware({ end: false }); }); it('should support passing to the next middleware', function (done) { var invocations = 0; app.use(function (req, res, next) { invocations++; res.end(); }); client.request('add', [3, 4], function (err, error, response) { if (err) throw err; if (error) throw error; response.should.eql(3 + 4); invocations.should.eql(1); done(); }); }); }); });