You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

44 lines
1.2 KiB

/*
* 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'),
ecstatic = require('ecstatic')(__dirname + '/fixtures/static'),
request = require('request'),
vows = require('vows'),
union = require('../');
vows.describe('union/ecstatic').addBatch({
"When using union with ecstatic": {
topic: function () {
union.createServer({
before: [
ecstatic
]
}).listen(18082, this.callback);
},
"a request to /some-file.txt": {
topic: function () {
request({ uri: 'http://localhost:18082/some-file.txt' }, this.callback);
},
"should respond with `hello world`": function (err, res, body) {
assert.isNull(err);
assert.equal(body, 'hello world\n');
}
},
"a request to /404.txt (which does not exist)": {
topic: function () {
request({ uri: 'http://localhost:18082/404.txt' }, this.callback);
},
"should respond with 404 status code": function (err, res, body) {
assert.isNull(err);
assert.equal(res.statusCode, 404);
}
}
}
}).export(module);