Skip to content

Commit

Permalink
test: http2 ERR_INVALID_ARG_TYPE tests
Browse files Browse the repository at this point in the history
Refs: #14985
  • Loading branch information
trivikr committed Oct 9, 2017
1 parent 3f95a8a commit 7a82fbc
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 35 deletions.
48 changes: 13 additions & 35 deletions test/parallel/test-http2-createsecureserver-nooptions.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,39 +6,17 @@ if (!common.hasCrypto)

const http2 = require('http2');

// Error if options are not passed to createSecureServer

common.expectsError(
() => http2.createSecureServer(),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError
});

common.expectsError(
() => http2.createSecureServer(() => {}),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError
});
const invalidOptions = [() => {}, 1, 'test', null, undefined];
const invalidArgTypeError = {
type: TypeError,
code: 'ERR_INVALID_ARG_TYPE',
message: 'The "options" argument must be of type object'
};

common.expectsError(
() => http2.createSecureServer(1),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError
});

common.expectsError(
() => http2.createSecureServer('test'),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError
});

common.expectsError(
() => http2.createSecureServer(null),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError
});
// Error if options are not passed to createSecureServer
invalidOptions.forEach((invalidOption) =>
common.expectsError(
() => http2.createSecureServer(invalidOption),
invalidArgTypeError
)
);
43 changes: 43 additions & 0 deletions test/parallel/test-http2-invalidargtypes-errors.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
const http2 = require('http2');

const server = http2.createServer();

server.on(
'stream',
common.mustCall((stream) => {
const invalidArgTypeError = (param, type) => ({
type: TypeError,
code: 'ERR_INVALID_ARG_TYPE',
message: `The "${param}" argument must be of type ${type}`
});
common.expectsError(
() => stream.session.priority(undefined, {}),
invalidArgTypeError('stream', 'Http2Stream')
);
common.expectsError(
() => stream.session.rstStream(undefined),
invalidArgTypeError('stream', 'Http2Stream')
);
common.expectsError(
() => stream.session.rstStream(stream, 'string'),
invalidArgTypeError('code', 'number')
);
stream.session.destroy();
})
);

server.listen(
0,
common.mustCall(() => {
const client = http2.connect(`http://localhost:${server.address().port}`);
const req = client.request();
req.resume();
req.on('end', common.mustCall(() => server.close()));
req.end();
})
);

0 comments on commit 7a82fbc

Please sign in to comment.