From 74b149d9088a2fc793a9eb433ba5d7d0ca77caf8 Mon Sep 17 00:00:00 2001 From: Narasimha1997 Date: Mon, 30 Aug 2021 00:13:34 +0530 Subject: [PATCH] Fix: Added test cases to validate invalid origin set bug fix #39919 --- test/internet/test-http2-issue-39919.js | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test/internet/test-http2-issue-39919.js diff --git a/test/internet/test-http2-issue-39919.js b/test/internet/test-http2-issue-39919.js new file mode 100644 index 00000000000000..a87286363cf258 --- /dev/null +++ b/test/internet/test-http2-issue-39919.js @@ -0,0 +1,42 @@ +'use strict'; +const assert = require('assert'); +const common = require('../common'); + +if (!common.hasCrypto) + common.skip('missing crypto'); + +const http2 = require('http2'); + + +function _verifyOriginSet(session, originString) { + session.once('remoteSettings', () => { + assert.strictEqual(typeof session.originSet, 'object'); + assert.strictEqual(session.originSet.length, 1); + assert.strictEqual(session.originSet[0], originString); + session.close(); + }); + + session.once('error', (error) => { + assert.strictEqual(error.code, 'ECONNREFUSED'); + session.close(); + }); +} + +function withServerName() { + const session = http2.connect('https://1.1.1.1', { servername: 'cloudflare-dns.com' }); + _verifyOriginSet(session, 'https://cloudflare-dns.com'); +} + +function withEmptyServerName() { + const session = http2.connect('https://1.1.1.1', { servername: '' }); + _verifyOriginSet(session, 'https://1.1.1.1'); +} + +function withoutServerName() { + const session = http2.connect('https://1.1.1.1'); + _verifyOriginSet(session, 'https://1.1.1.1'); +} + +withServerName(); +withEmptyServerName(); +withoutServerName();