mirror of
https://github.com/arnaucube/socketioMEANseed.git
synced 2026-02-08 04:06:48 +01:00
init
This commit is contained in:
2
www/node_modules/http-server/test/fixtures/root/canYouSeeMe
generated
vendored
Normal file
2
www/node_modules/http-server/test/fixtures/root/canYouSeeMe
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
I bet you can. I'm in your index.
|
||||
|
||||
2
www/node_modules/http-server/test/fixtures/root/file
generated
vendored
Normal file
2
www/node_modules/http-server/test/fixtures/root/file
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
hello, I know nodejitsu
|
||||
|
||||
158
www/node_modules/http-server/test/http-server-test.js
generated
vendored
Normal file
158
www/node_modules/http-server/test/http-server-test.js
generated
vendored
Normal file
@@ -0,0 +1,158 @@
|
||||
var assert = require('assert'),
|
||||
path = require('path'),
|
||||
fs = require('fs'),
|
||||
vows = require('vows'),
|
||||
request = require('request'),
|
||||
httpServer = require('../lib/http-server');
|
||||
|
||||
var root = path.join(__dirname, 'fixtures', 'root');
|
||||
|
||||
vows.describe('http-server').addBatch({
|
||||
'When http-server is listening on 8080': {
|
||||
topic: function () {
|
||||
var server = httpServer.createServer({
|
||||
root: root,
|
||||
robots: true,
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Credentials': 'true'
|
||||
}
|
||||
});
|
||||
|
||||
server.listen(8080);
|
||||
this.callback(null, server);
|
||||
},
|
||||
'it should serve files from root directory': {
|
||||
topic: function () {
|
||||
request('http://127.0.0.1:8080/file', this.callback);
|
||||
},
|
||||
'status code should be 200': function (res) {
|
||||
assert.equal(res.statusCode, 200);
|
||||
},
|
||||
'and file content': {
|
||||
topic: function (res, body) {
|
||||
var self = this;
|
||||
fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) {
|
||||
self.callback(err, data, body);
|
||||
});
|
||||
},
|
||||
'should match content of served file': function (err, file, body) {
|
||||
assert.equal(body.trim(), file.trim());
|
||||
}
|
||||
}
|
||||
},
|
||||
'when requesting non-existent file': {
|
||||
topic: function () {
|
||||
request('http://127.0.0.1:8080/404', this.callback);
|
||||
},
|
||||
'status code should be 404': function (res) {
|
||||
assert.equal(res.statusCode, 404);
|
||||
}
|
||||
},
|
||||
'when requesting /': {
|
||||
topic: function () {
|
||||
request('http://127.0.0.1:8080/', this.callback);
|
||||
},
|
||||
'should respond with index': function (err, res, body) {
|
||||
assert.equal(res.statusCode, 200);
|
||||
assert.include(body, '/file');
|
||||
assert.include(body, '/canYouSeeMe');
|
||||
}
|
||||
},
|
||||
'when robots options is activated': {
|
||||
topic: function () {
|
||||
request('http://127.0.0.1:8080/', this.callback);
|
||||
},
|
||||
'should respond with status code 200 to /robots.txt': function (res) {
|
||||
assert.equal(res.statusCode, 200);
|
||||
}
|
||||
},
|
||||
'and options include custom set http-headers': {
|
||||
topic: function () {
|
||||
request('http://127.0.0.1:8080/', this.callback);
|
||||
},
|
||||
'should respond with headers set in options': function (err, res) {
|
||||
assert.equal(res.headers['access-control-allow-origin'], '*');
|
||||
assert.equal(res.headers['access-control-allow-credentials'], 'true');
|
||||
}
|
||||
},
|
||||
'When http-server is proxying from 8081 to 8080': {
|
||||
topic: function () {
|
||||
var proxyServer = httpServer.createServer({
|
||||
proxy: 'http://127.0.0.1:8080/',
|
||||
root: path.join(__dirname, 'fixtures')
|
||||
});
|
||||
proxyServer.listen(8081);
|
||||
this.callback(null, proxyServer);
|
||||
},
|
||||
'it should serve files from the proxy server root directory': {
|
||||
topic: function () {
|
||||
request('http://127.0.0.1:8081/root/file', this.callback);
|
||||
},
|
||||
'status code should be the enpoint code 200': function (res) {
|
||||
assert.equal(res.statusCode, 200);
|
||||
},
|
||||
'and file content': {
|
||||
topic: function (res, body) {
|
||||
var self = this;
|
||||
fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) {
|
||||
self.callback(err, data, body);
|
||||
});
|
||||
},
|
||||
'should match content of the served file': function (err, file, body) {
|
||||
assert.equal(body.trim(), file.trim());
|
||||
}
|
||||
}
|
||||
},
|
||||
'it should fallback to the proxied server': {
|
||||
topic: function () {
|
||||
request('http://127.0.0.1:8081/file', this.callback);
|
||||
},
|
||||
'status code should be the enpoint code 200': function (res) {
|
||||
assert.equal(res.statusCode, 200);
|
||||
},
|
||||
'and file content': {
|
||||
topic: function (res, body) {
|
||||
var self = this;
|
||||
fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) {
|
||||
self.callback(err, data, body);
|
||||
});
|
||||
},
|
||||
'should match content of the proxied served file': function (err, file, body) {
|
||||
assert.equal(body.trim(), file.trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'When cors is enabled': {
|
||||
topic: function () {
|
||||
var server = httpServer.createServer({
|
||||
root: root,
|
||||
cors: true,
|
||||
corsHeaders: 'X-Test'
|
||||
});
|
||||
server.listen(8082);
|
||||
this.callback(null, server);
|
||||
},
|
||||
'and given OPTIONS request': {
|
||||
topic: function () {
|
||||
request({
|
||||
method: 'OPTIONS',
|
||||
uri: 'http://127.0.0.1:8082/',
|
||||
headers: {
|
||||
'Access-Control-Request-Method': 'GET',
|
||||
Origin: 'http://example.com',
|
||||
'Access-Control-Request-Headers': 'Foobar'
|
||||
}
|
||||
}, this.callback);
|
||||
},
|
||||
'status code should be 204': function (err, res) {
|
||||
assert.equal(res.statusCode, 204);
|
||||
},
|
||||
'response Access-Control-Allow-Headers should contain X-Test': function (err, res) {
|
||||
assert.ok(res.headers['access-control-allow-headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204);
|
||||
}
|
||||
}
|
||||
}
|
||||
}).export(module);
|
||||
Reference in New Issue
Block a user