summaryrefslogtreecommitdiff
path: root/test/parallel/test-tls-server-parent-constructor-options.js
diff options
context:
space:
mode:
authorLuigi Pinca <luigipinca@gmail.com>2019-05-13 09:07:56 +0200
committerRich Trott <rtrott@gmail.com>2019-05-18 19:46:55 -0700
commit5112b3d9a6645b83b90b559cb388fa29ee61eb99 (patch)
tree25de70cdc59f1033c86bf652651ee7f83788a9cd /test/parallel/test-tls-server-parent-constructor-options.js
parent7bdd8d6e98d375a8f4a66d741642af68f5ce562d (diff)
downloadandroid-node-v8-5112b3d9a6645b83b90b559cb388fa29ee61eb99.tar.gz
android-node-v8-5112b3d9a6645b83b90b559cb388fa29ee61eb99.tar.bz2
android-node-v8-5112b3d9a6645b83b90b559cb388fa29ee61eb99.zip
tls: support `net.Server` options
Pass `tls.Server` constructor options to the parent constructor. PR-URL: https://github.com/nodejs/node/pull/27665 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'test/parallel/test-tls-server-parent-constructor-options.js')
-rw-r--r--test/parallel/test-tls-server-parent-constructor-options.js63
1 files changed, 63 insertions, 0 deletions
diff --git a/test/parallel/test-tls-server-parent-constructor-options.js b/test/parallel/test-tls-server-parent-constructor-options.js
new file mode 100644
index 0000000000..17484c29ba
--- /dev/null
+++ b/test/parallel/test-tls-server-parent-constructor-options.js
@@ -0,0 +1,63 @@
+'use strict';
+const common = require('../common');
+
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+
+// Test that `tls.Server` constructor options are passed to the parent
+// constructor.
+
+const assert = require('assert');
+const fixtures = require('../common/fixtures');
+const tls = require('tls');
+
+const options = {
+ key: fixtures.readKey('agent1-key.pem'),
+ cert: fixtures.readKey('agent1-cert.pem'),
+};
+
+{
+ const server = tls.createServer(options, common.mustCall((socket) => {
+ assert.strictEqual(socket.allowHalfOpen, false);
+ }));
+
+ assert.strictEqual(server.allowHalfOpen, false);
+
+ server.listen(0, common.mustCall(() => {
+ const socket = tls.connect({
+ port: server.address().port,
+ rejectUnauthorized: false
+ }, common.mustCall(() => {
+ socket.end();
+ }));
+
+ socket.on('close', () => {
+ server.close();
+ });
+ }));
+}
+
+{
+ const server = tls.createServer({
+ allowHalfOpen: true,
+ ...options
+ }, common.mustCall((socket) => {
+ assert.strictEqual(socket.allowHalfOpen, true);
+ socket.on('end', socket.end);
+ }));
+
+ assert.strictEqual(server.allowHalfOpen, true);
+
+ server.listen(0, common.mustCall(() => {
+ const socket = tls.connect({
+ port: server.address().port,
+ rejectUnauthorized: false
+ }, common.mustCall(() => {
+ socket.end();
+ }));
+
+ socket.on('close', () => {
+ server.close();
+ });
+ }));
+}