mirror of https://github.com/mongodb/mongo
23 lines
999 B
JavaScript
23 lines
999 B
JavaScript
// Test changing the --tlsMode and --clusterAuthMode
|
|
// parameters using setParameter
|
|
|
|
// setParameter should always fail since it
|
|
// cannot be used to transition from disabled/keyFile modes
|
|
function testTransition(newtlsMode, newClusterAuthMode) {
|
|
// If no parameters are given tlsMode defaults to disabled
|
|
let conn = MongoRunner.runMongod({clusterAuthMode: "keyFile", keyFile: "jstests/libs/key1"});
|
|
let adminDB = conn.getDB("admin");
|
|
adminDB.createUser({user: "root", pwd: "pwd", roles: ["root"]});
|
|
adminDB.auth("root", "pwd");
|
|
let res = adminDB.runCommand({"setParameter": 1, "tlsMode": newtlsMode});
|
|
assert.commandFailedWithCode(res, ErrorCodes.BadValue);
|
|
|
|
res = adminDB.runCommand({"setParameter": 1, "clusterAuthMode": newClusterAuthMode});
|
|
assert.commandFailedWithCode(res, ErrorCodes.BadValue);
|
|
MongoRunner.stopMongod(conn);
|
|
}
|
|
|
|
testTransition("allowTLS", "sendKeyFile");
|
|
testTransition("preferTLS", "sendX509");
|
|
testTransition("requireTLS", "x509");
|