summaryrefslogtreecommitdiff
path: root/test/parallel/test-process-initgroups.js
diff options
context:
space:
mode:
authorJames Herrington <james@getimpala.com>2018-11-06 15:19:21 +0000
committerRich Trott <rtrott@gmail.com>2018-11-11 10:12:09 -0800
commita4cae978fc9a60c31ec443ee72bfc5770a742b92 (patch)
treed59db44e57c028d340c2a7d0f0bbac3b7835b765 /test/parallel/test-process-initgroups.js
parentce6ec368a6ca1731323de074e0dbafaad2426e2b (diff)
downloadandroid-node-v8-a4cae978fc9a60c31ec443ee72bfc5770a742b92.tar.gz
android-node-v8-a4cae978fc9a60c31ec443ee72bfc5770a742b92.tar.bz2
android-node-v8-a4cae978fc9a60c31ec443ee72bfc5770a742b92.zip
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 <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-process-initgroups.js')
-rw-r--r--test/parallel/test-process-initgroups.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/parallel/test-process-initgroups.js b/test/parallel/test-process-initgroups.js
new file mode 100644
index 0000000000..49b8833f61
--- /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'
+ }
+);