node/test/parallel/test-tls-junk-server.js
David Benjamin ffb8f031a4 test: update test expectations for OpenSSL 1.1.0
Some errors in the two versions are different. The test-tls-no-sslv3 one
because OpenSSL 1.1.x finally does version negotiation properly. 1.0.x's
logic was somewhat weird and resulted in very inconsistent errors for
SSLv3 in particular.

Also the function codes are capitalized differently, but function codes
leak implementation details, so don't assert on them to begin with.

PR-URL: https://github.com/nodejs/node/pull/16130
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
2017-11-11 20:42:49 +11:00

30 lines
743 B
JavaScript

'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, function() {
const req = https.request({ port: this.address().port });
req.end();
req.once('error', common.mustCall(function(err) {
// OpenSSL 1.0.x and 1.1.x use different error messages for junk inputs.
assert(/unknown protocol/.test(err.message) ||
/wrong version number/.test(err.message));
server.close();
}));
});