summaryrefslogtreecommitdiff
path: root/jstests/noPassthrough/unknown-set-parameter.js
blob: 91df8149a42f5df24e825ef97ff32bccac26497b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Verify error is produced when specifying an invalid set parameter.

(function() {
'use strict';

TestData.enableTestCommands = false;

function tryRun(arg) {
    // runMongoProgram helpfully makes certain that we pass a port when invoking mongod.
    return runMongoProgram('mongod', '--port', 0, '--setParameter', arg, '--outputConfig');
}

// Positive case, valid setparam.
clearRawMongoProgramOutput();
const valid = tryRun('enableTestCommands=1');
assert.eq(valid, 0);
const validOutput = rawMongoProgramOutput();
assert.gte(validOutput.search(/enableTestCommands: 1/), 0, validOutput);

// Negative case, invalid setparam.
clearRawMongoProgramOutput();
const foo = tryRun('foo=bar');
assert.neq(foo, 0);
const fooOutput = rawMongoProgramOutput();
assert.gte(fooOutput.search(/Unknown --setParameter 'foo'/), 0, fooOutput);

// Negative case, valid but unavailable setparam.
clearRawMongoProgramOutput();
const graph = tryRun('roleGraphInvalidationIsFatal=true');
assert.neq(graph, 0);
const graphOutput = rawMongoProgramOutput();
assert.gte(
    graphOutput.search(
        /--setParameter 'roleGraphInvalidationIsFatal' only available when used with 'enableTestCommands'/),
    0,
    fooOutput);
}());