Skip to content

Commit

Permalink
test: expand http2 frameError test case
Browse files Browse the repository at this point in the history
Expand maxSendHeaderBlockLength test to check what happens if
frameError listener isn't available.

PR-URL: nodejs#15298
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Refael Ackermann <refack@gmail.com>
  • Loading branch information
apapirovski authored and BridgeAR committed Sep 20, 2017
1 parent 8589c70 commit 15879ad
Showing 1 changed file with 29 additions and 4 deletions.
33 changes: 29 additions & 4 deletions test/parallel/test-http2-options-max-headers-block-length.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -31,20 +31,45 @@ server.on('listening', common.mustCall(() => {

req.resume();
req.on('end', common.mustCall(() => {
server.close();
client.destroy();
}));

req.on('frameError', common.mustCall((type, code) => {
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();

}));

0 comments on commit 15879ad

Please sign in to comment.