mongo/jstests/auth/iteration_count_defaults.js

26 lines
1.0 KiB
JavaScript

// Test SCRAM iterationCount defaults.
function runOpt(params, sha1Value, sha256Value) {
const conn = MongoRunner.runMongod({auth: "", setParameter: params});
const adminDB = conn.getDB("admin");
adminDB.createUser({user: "user1", pwd: "pass", roles: jsTest.adminUserRoles});
assert(adminDB.auth({user: "user1", pwd: "pass"}));
const response = assert.commandWorked(
adminDB.runCommand({getParameter: 1, scramIterationCount: 1, scramSHA256IterationCount: 1}),
);
assert.eq(response.scramIterationCount, sha1Value);
assert.eq(response.scramSHA256IterationCount, sha256Value);
MongoRunner.stopMongod(conn);
}
runOpt({}, 10000, 15000);
runOpt({scramIterationCount: 12500}, 12500, 15000);
runOpt({scramIterationCount: 20000}, 20000, 20000);
runOpt({scramSHA256IterationCount: 9999}, 10000, 9999);
runOpt({scramSHA256IterationCount: 10001}, 10000, 10001);
runOpt({scramIterationCount: 7000, scramSHA256IterationCount: 8000}, 7000, 8000);
runOpt({scramIterationCount: 8000, scramSHA256IterationCount: 7000}, 8000, 7000);