blob: a3bb28975a31552ccf47d18b50ea11411f582433 [file] [log] [blame]
Roman Reissf29762f2015-05-19 11:00:061'use strict';
Ryan Dahl7dfbccf2011-01-21 23:55:482var common = require('../common');
3var assert = require('assert');
Johan Bergström671fbd52015-03-04 01:11:214
5if (!common.hasCrypto) {
6 console.log('1..0 # Skipped: missing crypto');
Sakthipriyan Vairamani79c865a2015-07-07 15:25:557 return;
Johan Bergström671fbd52015-03-04 01:11:218}
Ryan Dahl7dfbccf2011-01-21 23:55:489var https = require('https');
Johan Bergström671fbd52015-03-04 01:11:2110
Ryan Dahl7dfbccf2011-01-21 23:55:4811var fs = require('fs');
12
13var options = {
14 key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'),
15 cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem')
16};
17
18
19var server = https.Server(options, function(req, res) {
20 res.writeHead(200);
Colton Baker87286cc2011-10-04 22:08:1821 res.end('hello world\n');
Ryan Dahl7dfbccf2011-01-21 23:55:4822});
23
24
25var responses = 0;
26var N = 10;
27var M = 10;
28
29server.listen(common.PORT, function() {
30 for (var i = 0; i < N; i++) {
Colton Baker87286cc2011-10-04 22:08:1831 setTimeout(function() {
Ryan Dahl7dfbccf2011-01-21 23:55:4832 for (var j = 0; j < M; j++) {
Ben Noordhuis3806cf02012-08-30 14:43:2033 https.get({
34 path: '/',
35 port: common.PORT,
36 rejectUnauthorized: false
37 }, function(res) {
isaacs19ecc3a2012-12-13 15:47:3338 res.resume();
Ryan Dahl7dfbccf2011-01-21 23:55:4839 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
51process.on('exit', function() {
52 assert.equal(N * M, responses);
53});