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