Roman Reiss | f29762f | 2015-05-19 11:00:06 | [diff] [blame] | 1 | 'use strict'; |
Ryan Dahl | 7dfbccf | 2011-01-21 23:55:48 | [diff] [blame] | 2 | var common = require('../common'); |
| 3 | var assert = require('assert'); |
Johan Bergström | 671fbd5 | 2015-03-04 01:11:21 | [diff] [blame] | 4 | |
| 5 | if (!common.hasCrypto) { |
| 6 | console.log('1..0 # Skipped: missing crypto'); |
Sakthipriyan Vairamani | 79c865a | 2015-07-07 15:25:55 | [diff] [blame] | 7 | return; |
Johan Bergström | 671fbd5 | 2015-03-04 01:11:21 | [diff] [blame] | 8 | } |
Ryan Dahl | 7dfbccf | 2011-01-21 23:55:48 | [diff] [blame] | 9 | var https = require('https'); |
Johan Bergström | 671fbd5 | 2015-03-04 01:11:21 | [diff] [blame] | 10 | |
Ryan Dahl | 7dfbccf | 2011-01-21 23:55:48 | [diff] [blame] | 11 | var fs = require('fs'); |
| 12 | |
| 13 | var options = { |
| 14 | key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'), |
| 15 | cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem') |
| 16 | }; |
| 17 | |
| 18 | |
| 19 | var server = https.Server(options, function(req, res) { |
| 20 | res.writeHead(200); |
Colton Baker | 87286cc | 2011-10-04 22:08:18 | [diff] [blame] | 21 | res.end('hello world\n'); |
Ryan Dahl | 7dfbccf | 2011-01-21 23:55:48 | [diff] [blame] | 22 | }); |
| 23 | |
| 24 | |
| 25 | var responses = 0; |
| 26 | var N = 10; |
| 27 | var M = 10; |
| 28 | |
| 29 | server.listen(common.PORT, function() { |
| 30 | for (var i = 0; i < N; i++) { |
Colton Baker | 87286cc | 2011-10-04 22:08:18 | [diff] [blame] | 31 | setTimeout(function() { |
Ryan Dahl | 7dfbccf | 2011-01-21 23:55:48 | [diff] [blame] | 32 | for (var j = 0; j < M; j++) { |
Ben Noordhuis | 3806cf0 | 2012-08-30 14:43:20 | [diff] [blame] | 33 | https.get({ |
| 34 | path: '/', |
| 35 | port: common.PORT, |
| 36 | rejectUnauthorized: false |
| 37 | }, function(res) { |
isaacs | 19ecc3a | 2012-12-13 15:47:33 | [diff] [blame] | 38 | res.resume(); |
Ryan Dahl | 7dfbccf | 2011-01-21 23:55:48 | [diff] [blame] | 39 | console.log(res.statusCode); |
| 40 | if (++responses == N * M) server.close(); |
| 41 | }).on('error', function(e) { |
| 42 | console.log(e.message); |
| 43 | process.exit(1); |
| 44 | }); |
| 45 | } |
| 46 | }, i); |
| 47 | } |
| 48 | }); |
| 49 | |
| 50 | |
| 51 | process.on('exit', function() { |
| 52 | assert.equal(N * M, responses); |
| 53 | }); |