'use strict'; const assert = require('assert'); const common = require('../common'); if (!common.hasCrypto) { common.skip('missing crypto'); return; } const tls = require('tls'); // Omitting the cert or pfx option to tls.createServer() should not throw. // AECDH-NULL-SHA is a no-authentication/no-encryption cipher and hence // doesn't need a certificate. tls.createServer({ ciphers: 'AECDH-NULL-SHA' }) .listen(0, common.mustCall(close)); tls.createServer(assert.fail) .listen(0, common.mustCall(close)); tls.createServer({}) .listen(0, common.mustCall(close)); assert.throws(() => tls.createServer('this is not valid'), TypeError); tls.createServer() .listen(0, common.mustCall(close)); function close() { this.close(); }