summaryrefslogtreecommitdiff
path: root/jstests/auth/iteration_count_defaults.js
blob: 560704e274c178a8b75ecf98e8a29369be84978c (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
// Test SCRAM iterationCount defaults.

(function() {
'use strict';

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);
})();