summaryrefslogtreecommitdiff
path: root/test/sequential/test-https-connect-localport.js
blob: e703fb2287d369234f0da570961cd408e20d8a6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
'use strict';
const common = require('../common');
const fixtures = require('../common/fixtures');

if (!common.hasCrypto)
  common.skip('missing crypto');

const https = require('https');
const assert = require('assert');

{
  const server = https.createServer({
    cert: fixtures.readKey('agent1-cert.pem'),
    key: fixtures.readKey('agent1-key.pem'),
  }, common.mustCall((req, res) => {
    server.close();
    res.end();
  }));

  server.listen(0, 'localhost', common.mustCall(() => {
    const port = server.address().port;
    const req = https.get({
      host: 'localhost',
      pathname: '/',
      port,
      family: 4,
      localPort: common.PORT,
      rejectUnauthorized: false,
    }, common.mustCall(() => {
      assert.strictEqual(req.socket.localPort, common.PORT);
      assert.strictEqual(req.socket.remotePort, port);
    }));
  }));
}