summaryrefslogtreecommitdiff
path: root/test/parallel/test-http2-client-setNextStreamID-errors.js
diff options
context:
space:
mode:
authorTrivikram <16024985+trivikr@users.noreply.github.com>2018-02-17 20:35:01 -0800
committerRuben Bridgewater <ruben@bridgewater.de>2018-02-22 12:09:26 +0100
commit20dae8540b4a6306d53ebd8fca88a9940c8e9c00 (patch)
tree77fcd57bfe5e6a9bd9ceec4f2d259d9cc919201d /test/parallel/test-http2-client-setNextStreamID-errors.js
parent3cb3618973bcf7817b55eb4fd96cc5fe7284cbd9 (diff)
downloadandroid-node-v8-20dae8540b4a6306d53ebd8fca88a9940c8e9c00.tar.gz
android-node-v8-20dae8540b4a6306d53ebd8fca88a9940c8e9c00.tar.bz2
android-node-v8-20dae8540b4a6306d53ebd8fca88a9940c8e9c00.zip
test: http2 client setNextStreamID errors
PR-URL: https://github.com/nodejs/node/pull/18848 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Minwoo Jung <minwoo@nodesource.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-http2-client-setNextStreamID-errors.js')
-rw-r--r--test/parallel/test-http2-client-setNextStreamID-errors.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/test/parallel/test-http2-client-setNextStreamID-errors.js b/test/parallel/test-http2-client-setNextStreamID-errors.js
new file mode 100644
index 0000000000..0c982061b8
--- /dev/null
+++ b/test/parallel/test-http2-client-setNextStreamID-errors.js
@@ -0,0 +1,59 @@
+'use strict';
+
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+
+const http2 = require('http2');
+
+const server = http2.createServer();
+server.on('stream', (stream) => {
+ stream.respond();
+ stream.end('ok');
+});
+
+const types = {
+ boolean: true,
+ function: () => {},
+ number: 1,
+ object: {},
+ array: [],
+ null: null,
+ symbol: Symbol('test')
+};
+
+server.listen(0, common.mustCall(() => {
+ const client = http2.connect(`http://localhost:${server.address().port}`);
+
+ client.on('connect', () => {
+ const outOfRangeNum = 2 ** 31;
+ common.expectsError(
+ () => client.setNextStreamID(outOfRangeNum),
+ {
+ type: RangeError,
+ code: 'ERR_OUT_OF_RANGE',
+ message: 'The value of "id" is out of range.' +
+ ' It must be > 0 and <= 2147483647. Received ' + outOfRangeNum
+ }
+ );
+
+ // should throw if something other than number is passed to setNextStreamID
+ Object.entries(types).forEach(([type, value]) => {
+ if (type === 'number') {
+ return;
+ }
+
+ common.expectsError(
+ () => client.setNextStreamID(value),
+ {
+ type: TypeError,
+ code: 'ERR_INVALID_ARG_TYPE',
+ message: 'The "id" argument must be of type number'
+ }
+ );
+ });
+
+ server.close();
+ client.close();
+ });
+}));