From 389c8c33d7a2a787353f384a50d48998f0685e3e Mon Sep 17 00:00:00 2001 From: Anatoli Papirovski Date: Fri, 15 Sep 2017 13:35:00 -0400 Subject: [PATCH] test: expand http2 frameError test case Expand maxSendHeaderBlockLength test to check what happens if frameError listener isn't available. PR-URL: https://github.com/nodejs/node/pull/15298 Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater Reviewed-By: Refael Ackermann --- ...-http2-options-max-headers-block-length.js | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/test/parallel/test-http2-options-max-headers-block-length.js b/test/parallel/test-http2-options-max-headers-block-length.js index fe3eb9774835ba..6b47a248980b6c 100644 --- a/test/parallel/test-http2-options-max-headers-block-length.js +++ b/test/parallel/test-http2-options-max-headers-block-length.js @@ -16,7 +16,7 @@ server.listen(0); server.on('listening', common.mustCall(() => { // Setting the maxSendHeaderBlockLength, then attempting to send a - // headers block that is too big should cause a 'meError' to + // headers block that is too big should cause a 'frameError' to // be emitted, and will cause the stream to be shutdown. const options = { maxSendHeaderBlockLength: 10 @@ -31,7 +31,6 @@ server.on('listening', common.mustCall(() => { req.resume(); req.on('end', common.mustCall(() => { - server.close(); client.destroy(); })); @@ -39,12 +38,38 @@ server.on('listening', common.mustCall(() => { assert.strictEqual(code, h2.constants.NGHTTP2_ERR_FRAME_SIZE_ERROR); })); - req.on('error', common.mustCall(common.expectsError({ + req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', type: Error, message: 'Stream closed with error code 7' - }))); + })); req.end(); + // if no frameError listener, should emit 'error' with + // code ERR_HTTP2_FRAME_ERROR + const req2 = client.request({ ':path': '/' }); + + req2.on('response', common.mustNotCall()); + + req2.resume(); + req2.on('end', common.mustCall(() => { + server.close(); + client.destroy(); + })); + + req2.once('error', common.mustCall((err) => { + common.expectsError({ + code: 'ERR_HTTP2_FRAME_ERROR', + type: Error + })(err); + req2.on('error', common.expectsError({ + code: 'ERR_HTTP2_STREAM_ERROR', + type: Error, + message: 'Stream closed with error code 7' + })); + })); + + req2.end(); + }));