current commit
260508.12 · test: update tls/crypto behaviour expectations when using BoringSSL
'use strict';
const common = require('../common');

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

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

const server = net.createServer(function(s) {
  s.once('data', function() {
    s.end('I was waiting for you, hello!', function() {
      s.destroy();
    });
  });
});

server.listen(0, common.mustCall(function() {
  const req = https.request({ port: this.address().port });
  req.end();

  // Different OpenSSL versions report different errors for junk data on a
  // TLS connection, depending on which record validation check fires first.
  const expectedErrorMessage =
    /wrong[ _]version[ _]number|packet length too long|bad record type/i;
  req.once('error', common.mustCall(function(err) {
    assert.match(err.message, expectedErrorMessage);
    server.close();
  }));
}));