summaryrefslogtreecommitdiff
path: root/jstests/auth/iteration_count_defaults.js
blob: 6ebe74abec1b272ed9a08b31ab3fe3988da94d04 (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);
})();