From a4cae978fc9a60c31ec443ee72bfc5770a742b92 Mon Sep 17 00:00:00 2001 From: James Herrington Date: Tue, 6 Nov 2018 15:19:21 +0000 Subject: [PATCH] test: add tests for process.initgroups - test argument validation - test function throws if provided group is invalid PR-URL: https://github.com/nodejs/node/pull/24154 Reviewed-By: Anna Henningsen Reviewed-By: Ruben Bridgewater Reviewed-By: Colin Ihrig Reviewed-By: James M Snell --- test/parallel/test-process-initgroups.js | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 test/parallel/test-process-initgroups.js diff --git a/test/parallel/test-process-initgroups.js b/test/parallel/test-process-initgroups.js new file mode 100644 index 00000000000..49b8833f61a --- /dev/null +++ b/test/parallel/test-process-initgroups.js @@ -0,0 +1,54 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); + +if (common.isWindows || !common.isMainThread) { + assert.strictEqual(process.initgroups, undefined); + return; +} + +[undefined, null, true, {}, [], () => {}].forEach((val) => { + assert.throws( + () => { + process.initgroups(val); + }, + { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError [ERR_INVALID_ARG_TYPE]', + message: + 'The "user" argument must be ' + + 'one of type number or string. ' + + `Received type ${typeof val}` + } + ); +}); + +[undefined, null, true, {}, [], () => {}].forEach((val) => { + assert.throws( + () => { + process.initgroups('foo', val); + }, + { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError [ERR_INVALID_ARG_TYPE]', + message: + 'The "extraGroup" argument must be ' + + 'one of type number or string. ' + + `Received type ${typeof val}` + } + ); +}); + +assert.throws( + () => { + process.initgroups( + 'fhqwhgadshgnsdhjsdbkhsdabkfabkveyb', + 'fhqwhgadshgnsdhjsdbkhsdabkfabkveyb' + ); + }, + { + code: 'ERR_UNKNOWN_CREDENTIAL', + message: + 'Group identifier does not exist: fhqwhgadshgnsdhjsdbkhsdabkfabkveyb' + } +);