var assert = require('assert'), request = require('request'), vows = require('vows'), union = require('../'); vows.describe('union/properties').addBatch({ 'When using `union`': { 'with a server that responds to requests': { topic: function () { var callback = this.callback; var server = union.createServer({ before: [ function (req, res) { callback(null, req, res); res.writeHead(200, { 'content-type': 'text' }); res.end(); } ] }); server.listen(9092, function () { request('http://localhost:9092/'); }); }, 'the `req` should have a proper `httpVersion` set': function (err, req) { assert.isNull(err); assert.equal(req.httpVersion, '1.1'); }, 'the `req` should have a proper `httpVersionMajor` set': function (err, req) { assert.isNull(err); assert.equal(req.httpVersionMajor, 1); }, 'the `req` should have a proper `httpVersionMinor` set': function (err, req) { assert.isNull(err); assert.equal(req.httpVersionMinor, 1); }, 'the `req` should have proper `socket` reference set': function (err, req) { var net = require('net'); assert.isNull(err); assert.isTrue(req.socket instanceof net.Socket); } } } }).export(module);