From 563771d8b1c21cd6bb08630e21e94b4f86253daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Bergstr=C3=B6m?= Date: Thu, 5 Mar 2015 09:36:47 +1100 Subject: [PATCH] test: split parts out of host-headers test into its own test this makes the separation between http and https testing cleaner PR-URL: https://github.com/iojs/io.js/pull/1049 Reviewed-By: Ben Noordhuis Reviewed-By: Shigeki Ohtsu --- test/parallel/test-http-host-headers.js | 90 ------------------- test/parallel/test-https-host-headers.js | 110 +++++++++++++++++++++++ 2 files changed, 110 insertions(+), 90 deletions(-) create mode 100644 test/parallel/test-https-host-headers.js diff --git a/test/parallel/test-http-host-headers.js b/test/parallel/test-http-host-headers.js index 0264d5f9d2f20c..10e50306609d67 100644 --- a/test/parallel/test-http-host-headers.js +++ b/test/parallel/test-http-host-headers.js @@ -1,20 +1,8 @@ var http = require('http'), - fs = require('fs'), common = require('../common'), assert = require('assert'), - options = { - key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'), - cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem') - }, httpServer = http.createServer(reqHandler); -if(common.hasCrypto) { - var https = require('https'), - httpsServer = https.createServer(options, reqHandler); -} else { - console.log('1..0 # Skipped: missing crypto'); -} - function reqHandler(req, res) { console.log('Got request: ' + req.headers.host + ' ' + req.url); if (req.url === '/setHostFalse5') { @@ -46,9 +34,6 @@ function testHttp() { console.log('back from http request. counter = ' + counter); if (counter === 0) { httpServer.close(); - if(common.hasCrypto) { - testHttps(); - } } res.resume(); } @@ -104,78 +89,3 @@ function testHttp() { }, cb).on('error', thrower).end(); }); } - -function testHttps() { - - console.log('testing https on port ' + common.PORT); - - var counter = 0; - - function cb(res) { - counter--; - console.log('back from https request. counter = ' + counter); - if (counter === 0) { - httpsServer.close(); - console.log('ok'); - } - res.resume(); - } - - httpsServer.listen(common.PORT, function(er) { - if (er) throw er; - - https.get({ - method: 'GET', - path: '/' + (counter++), - host: 'localhost', - //agent: false, - port: common.PORT, - rejectUnauthorized: false - }, cb).on('error', thrower); - - https.request({ - method: 'GET', - path: '/' + (counter++), - host: 'localhost', - //agent: false, - port: common.PORT, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.request({ - method: 'POST', - path: '/' + (counter++), - host: 'localhost', - //agent: false, - port: common.PORT, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.request({ - method: 'PUT', - path: '/' + (counter++), - host: 'localhost', - //agent: false, - port: common.PORT, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.request({ - method: 'DELETE', - path: '/' + (counter++), - host: 'localhost', - //agent: false, - port: common.PORT, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.get({ - method: 'GET', - path: '/setHostFalse' + (counter++), - host: 'localhost', - setHost: false, - port: common.PORT, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - }); -} diff --git a/test/parallel/test-https-host-headers.js b/test/parallel/test-https-host-headers.js new file mode 100644 index 00000000000000..b8bcb407f1bebb --- /dev/null +++ b/test/parallel/test-https-host-headers.js @@ -0,0 +1,110 @@ +var common = require('../common'); +var assert = require('assert'); + +if (!common.hasCrypto) { + console.log('1..0 # Skipped: missing crypto'); + process.exit(); +} +var https = require('https'); + +var fs = require('fs'), + options = { + key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'), + cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem') + }, + httpsServer = https.createServer(options, reqHandler); + +function reqHandler(req, res) { + console.log('Got request: ' + req.headers.host + ' ' + req.url); + if (req.url === '/setHostFalse5') { + assert.equal(req.headers.host, undefined); + } else { + assert.equal(req.headers.host, 'localhost:' + common.PORT, + 'Wrong host header for req[' + req.url + ']: ' + + req.headers.host); + } + res.writeHead(200, {}); + //process.nextTick(function() { res.end('ok'); }); + res.end('ok'); +} + +function thrower(er) { + throw er; +} + +testHttps(); + +function testHttps() { + + console.log('testing https on port ' + common.PORT); + + var counter = 0; + + function cb(res) { + counter--; + console.log('back from https request. counter = ' + counter); + if (counter === 0) { + httpsServer.close(); + console.log('ok'); + } + res.resume(); + } + + httpsServer.listen(common.PORT, function(er) { + if (er) throw er; + + https.get({ + method: 'GET', + path: '/' + (counter++), + host: 'localhost', + //agent: false, + port: common.PORT, + rejectUnauthorized: false + }, cb).on('error', thrower); + + https.request({ + method: 'GET', + path: '/' + (counter++), + host: 'localhost', + //agent: false, + port: common.PORT, + rejectUnauthorized: false + }, cb).on('error', thrower).end(); + + https.request({ + method: 'POST', + path: '/' + (counter++), + host: 'localhost', + //agent: false, + port: common.PORT, + rejectUnauthorized: false + }, cb).on('error', thrower).end(); + + https.request({ + method: 'PUT', + path: '/' + (counter++), + host: 'localhost', + //agent: false, + port: common.PORT, + rejectUnauthorized: false + }, cb).on('error', thrower).end(); + + https.request({ + method: 'DELETE', + path: '/' + (counter++), + host: 'localhost', + //agent: false, + port: common.PORT, + rejectUnauthorized: false + }, cb).on('error', thrower).end(); + + https.get({ + method: 'GET', + path: '/setHostFalse' + (counter++), + host: 'localhost', + setHost: false, + port: common.PORT, + rejectUnauthorized: false + }, cb).on('error', thrower).end(); + }); +}