remjson
Version:
JSON-RPC 1.0/2.0 compliant server and client
58 lines (47 loc) • 1.57 kB
JavaScript
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();
});
});
});
});