base project
This commit is contained in:
97
node_modules/union/test/simple-test.js
generated
vendored
Normal file
97
node_modules/union/test/simple-test.js
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* 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'),
|
||||
fs = require('fs'),
|
||||
path = require('path'),
|
||||
spawn = require('child_process').spawn,
|
||||
request = require('request'),
|
||||
vows = require('vows'),
|
||||
macros = require('./helpers/macros');
|
||||
|
||||
var examplesDir = path.join(__dirname, '..', 'examples', 'simple'),
|
||||
simpleScript = path.join(examplesDir, 'simple.js'),
|
||||
pkg = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf8')),
|
||||
fooURI = 'http://localhost:9090/foo',
|
||||
server;
|
||||
|
||||
vows.describe('union/simple').addBatch({
|
||||
"When using union": {
|
||||
"a simple http server": {
|
||||
topic: function () {
|
||||
server = spawn(process.argv[0], [simpleScript]);
|
||||
server.stdout.on('data', this.callback.bind(this, null));
|
||||
},
|
||||
"a GET request to `/foo`": {
|
||||
topic: function () {
|
||||
request({ uri: fooURI }, this.callback);
|
||||
},
|
||||
"it should respond with `hello world`": function (err, res, body) {
|
||||
macros.assertValidResponse(err, res);
|
||||
assert.equal(body, 'hello world\n');
|
||||
},
|
||||
"it should respond with 'x-powered-by': 'union <version>'": function (err, res, body) {
|
||||
assert.isNull(err);
|
||||
assert.equal(res.headers['x-powered-by'], 'union ' + pkg.version);
|
||||
}
|
||||
},
|
||||
"a POST request to `/foo`": {
|
||||
topic: function () {
|
||||
request.post({ uri: fooURI }, this.callback);
|
||||
},
|
||||
"it should respond with `wrote to a stream!`": function (err, res, body) {
|
||||
macros.assertValidResponse(err, res);
|
||||
assert.equal(body, 'wrote to a stream!');
|
||||
}
|
||||
},
|
||||
"a GET request to `/redirect`": {
|
||||
topic: function () {
|
||||
request.get({
|
||||
url: 'http://localhost:9090/redirect',
|
||||
followRedirect: false
|
||||
}, this.callback);
|
||||
},
|
||||
"it should redirect to `http://www.google.com`": function (err, res, body) {
|
||||
assert.equal(res.statusCode, 302);
|
||||
assert.equal(res.headers.location, "http://www.google.com");
|
||||
}
|
||||
},
|
||||
"a GET request to `/custom_redirect`": {
|
||||
topic: function () {
|
||||
request.get({
|
||||
url: 'http://localhost:9090/custom_redirect',
|
||||
followRedirect: false
|
||||
}, this.callback);
|
||||
},
|
||||
"it should redirect to `/foo`": function (err, res, body) {
|
||||
assert.equal(res.statusCode, 301);
|
||||
assert.equal(res.headers.location, "http://localhost:9090/foo");
|
||||
}
|
||||
},
|
||||
"a GET request to `/async`": {
|
||||
topic: function () {
|
||||
request.get({
|
||||
url: 'http://localhost:9090/async',
|
||||
timeout: 500
|
||||
}, this.callback);
|
||||
},
|
||||
"it should not timeout": function (err, res, body) {
|
||||
assert.ifError(err);
|
||||
assert.equal(res.statusCode, 200);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}).addBatch({
|
||||
"When the tests are over": {
|
||||
"the server should close": function () {
|
||||
server.kill();
|
||||
}
|
||||
}
|
||||
}).export(module);
|
||||
|
||||
Reference in New Issue
Block a user