|
|
/* * simple-test.js: Simple tests for basic streaming and non-streaming HTTP requests with union. * * (C) 2011, Charlie Robbins & the Contributors * MIT LICENSE * */
var assert = require('assert'), connect = require('connect'), request = require('request'), vows = require('vows'), union = require('../');
vows.describe('union/body-parser').addBatch({ "When using union with connect body parsing via urlencoded() or json()": { topic: function () { union.createServer({ buffer: false, before: [ connect.urlencoded(), connect.json(), function (req, res) { res.end(JSON.stringify(req.body, true, 2)); } ] }).listen(8082, this.callback); }, "a request to /": { topic: function () { request.post({ uri: 'http://localhost:8082/', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ a: "foo", b: "bar" }) }, this.callback); }, "should respond with a body-decoded object": function (err, res, body) { assert.isNull(err); assert.equal(res.statusCode, 200); assert.deepEqual( JSON.parse(body), { a: 'foo', b: 'bar' } ); } } } }).export(module);
|