1'use strict';
2const common = require('../common');
3
4if (!common.hasCrypto)
5  common.skip('missing crypto');
6
7const assert = require('assert');
8const tls = require('tls');
9const fixtures = require('../common/fixtures');
10
11const options = {
12  key: fixtures.readKey('agent1-key.pem'),
13  cert: fixtures.readKey('agent1-cert.pem')
14};
15
16const server = tls.createServer(options, function(s) {
17  s.end('hello');
18}).listen(0, function() {
19  const opts = {
20    port: this.address().port,
21    rejectUnauthorized: false
22  };
23
24  server.on('connection', common.mustCall(function(socket) {
25    assert.strictEqual(socket.server, server);
26    server.close();
27  }));
28
29  const client = tls.connect(opts, function() {
30    client.end();
31  });
32});
33