Skip to content

Commit 82060a5

Browse files
committed
[test] Add core test-http-status-code test
Modifications: * make client connect to `PROXY_PORT` instead of `PORT`
1 parent 31a8c68 commit 82060a5

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
// Copyright Joyent, Inc. and other Node contributors.
2+
//
3+
// Permission is hereby granted, free of charge, to any person obtaining a
4+
// copy of this software and associated documentation files (the
5+
// "Software"), to deal in the Software without restriction, including
6+
// without limitation the rights to use, copy, modify, merge, publish,
7+
// distribute, sublicense, and/or sell copies of the Software, and to permit
8+
// persons to whom the Software is furnished to do so, subject to the
9+
// following conditions:
10+
//
11+
// The above copyright notice and this permission notice shall be included
12+
// in all copies or substantial portions of the Software.
13+
//
14+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15+
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17+
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18+
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19+
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20+
// USE OR OTHER DEALINGS IN THE SOFTWARE.
21+
22+
// libuv-broken
23+
24+
25+
var common = require('../common');
26+
var assert = require('assert');
27+
var http = require('http');
28+
29+
// Simple test of Node's HTTP ServerResponse.statusCode
30+
// ServerResponse.prototype.statusCode
31+
32+
var testsComplete = 0;
33+
var tests = [200, 202, 300, 404, 500];
34+
var testIdx = 0;
35+
36+
var s = http.createServer(function(req, res) {
37+
var t = tests[testIdx];
38+
res.writeHead(t, {'Content-Type': 'text/plain'});
39+
console.log('--\nserver: statusCode after writeHead: ' + res.statusCode);
40+
assert.equal(res.statusCode, t);
41+
res.end('hello world\n');
42+
});
43+
44+
s.listen(common.PORT, nextTest);
45+
46+
47+
function nextTest() {
48+
if (testIdx + 1 === tests.length) {
49+
return s.close();
50+
}
51+
var test = tests[testIdx];
52+
53+
http.get({ port: common.PROXY_PORT }, function(response) {
54+
console.log('client: expected status: ' + test);
55+
console.log('client: statusCode: ' + response.statusCode);
56+
assert.equal(response.statusCode, test);
57+
response.on('end', function() {
58+
testsComplete++;
59+
testIdx += 1;
60+
nextTest();
61+
});
62+
});
63+
}
64+
65+
66+
process.on('exit', function() {
67+
assert.equal(4, testsComplete);
68+
});
69+

0 commit comments

Comments
 (0)