Spaces:
Sleeping
Sleeping
/* | |
* 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); | |