Tests: Node.js application tests.

This commit is contained in:
Sergey Kandaurov
2018-10-25 15:43:48 +03:00
parent 41d3d63758
commit 0fdc7c3a55
18 changed files with 342 additions and 0 deletions

6
test/node/404/404.html Normal file
View File

@@ -0,0 +1,6 @@
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
</body>
</html>

8
test/node/404/app.js Executable file
View File

@@ -0,0 +1,8 @@
#!/usr/bin/env node
var fs = require('fs');
require('unit-http').createServer(function (req, res) {
res.writeHead(404, {});
res.end(fs.readFileSync('404.html'));
}).listen(7080);

6
test/node/basic/app.js Executable file
View File

@@ -0,0 +1,6 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.writeHead(200, {'Content-Length': 12, 'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(7080);

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.setHeader('X-Number', 100);
res.setHeader('X-Type', typeof(res.getHeader('X-Number')));
res.end();
}).listen(7080);

9
test/node/get_variables/app.js Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
let query = require('url').parse(req.url, true).query;
res.setHeader('X-Var-1', query.var1);
res.setHeader('X-Var-2', query.var2);
res.setHeader('X-Var-3', query.var3);
res.end();
}).listen(7080);

12
test/node/mirror/app.js Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
let body = '';
req.on('data', chunk => {
body += chunk.toString();
});
req.on('end', () => {
res.writeHead(200, {'Content-Length': Buffer.byteLength(body)});
res.end(body);
});
}).listen(7080);

15
test/node/post_variables/app.js Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
let body = '';
req.on('data', chunk => {
body += chunk.toString();
});
req.on('end', () => {
let query = require('querystring').parse(body);
res.setHeader('X-Var-1', query.var1);
res.setHeader('X-Var-2', query.var2);
res.setHeader('X-Var-3', query.var3);
res.end();
});
}).listen(7080);

11
test/node/remove_header/app.js Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.setHeader('X-Header', 'test');
res.setHeader('Was-Header', res.hasHeader('X-Header').toString());
res.removeHeader('X-Header');
res.setHeader('Has-Header', res.hasHeader('X-Header').toString());
res.end();
}).listen(7080);

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.setHeader('Set-Cookie', ['tc=one,two,three', 'tc=four,five,six']);
res.end();
}).listen(7080);

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.writeHead(200, 'blah', {'Content-Type': 'text/plain'});
res.end();
}).listen(7080);

7
test/node/update_header/app.js Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.setHeader('X-Header', 'test');
res.setHeader('X-Header', 'new');
res.end();
}).listen(7080);

20
test/node/variables/app.js Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
let body = '';
req.on('data', chunk => {
body += chunk.toString();
});
req.on('end', () => {
res.setHeader('Request-Method', req.method);
res.setHeader('Request-Uri', req.url);
res.setHeader('Server-Protocol', req.httpVersion);
res.setHeader('Request-Raw-Headers', req.rawHeaders.join());
res.setHeader('Content-Length', Buffer.byteLength(body));
res.setHeader('Content-Type', req.headers['Content-Type']);
res.setHeader('Custom-Header', req.headers['Custom-Header']);
res.setHeader('Http-Host', req.headers['Host']);
res.writeHead(200, {});
res.end(body);
});
}).listen(7080);

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.write('blah');
res.writeHead(200, {'Content-Type': 'text/plain'});
}).listen(7080);

6
test/node/write_buffer/app.js Executable file
View File

@@ -0,0 +1,6 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(new Buffer([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]));
}).listen(7080);

10
test/node/write_callback/app.js Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
var a = 'blah';
res.write('hello', 'utf8', function() {
a = 'world';
});
res.end(a);
}).listen(7080);

6
test/node/write_return/app.js Executable file
View File

@@ -0,0 +1,6 @@
#!/usr/bin/env node
require('unit-http').createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(res.write('body').toString());
}).listen(7080);