summaryrefslogtreecommitdiff
path: root/test/parallel/test-tls-server-failed-handshake-emits-clienterror.js
blob: bd92dc289041834bacd9d9a3245a51672e85effa (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
'use strict';
const common = require('../common');

if (!common.hasCrypto) {
  common.skip('missing crypto');
  return;
}
const tls = require('tls');
const net = require('net');
const assert = require('assert');

const bonkers = Buffer.alloc(1024, 42);


const server = tls.createServer({})
  .listen(0, function() {
    const c = net.connect({ port: this.address().port }, function() {
      c.write(bonkers);
    });

  }).on('tlsClientError', common.mustCall(function(e) {
    assert.ok(e instanceof Error,
              'Instance of Error should be passed to error handler');
    assert.ok(e.message.match(
      /SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol/),
      'Expecting SSL unknown protocol');

    server.close();
  }));