summaryrefslogtreecommitdiff
path: root/jstests/auth/system_roles_collMod.js
blob: 6474ace1dfb5aac0c423a2fc56101dfc755f4e68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Verify custom roles still exist after noop collMod calls

(function() {
    'use strict';
    print("START auth-system-roles-collMod.js");
    var db = MongoRunner.runMongod({}).getDB("test");

    assert.commandWorked(db.runCommand(
        {createRole: "role1", roles: [{role: "readWrite", db: "test"}], privileges: []}));
    assert(db.runCommand({rolesInfo: "role1"}).roles[0].role === "role1");

    // RoleGraph not invalidated after empty collMod
    assert.commandWorked(db.adminCommand({collMod: "system.roles"}));
    assert(db.runCommand({rolesInfo: "role1"}).roles[0].role === "role1");

    // RoleGraph invalidated after non-empty collMod
    assert.commandWorked(db.adminCommand({collMod: "system.roles", validationLevel: "off"}));
    assert(db.runCommand({rolesInfo: "role1"}).roles.length === 0);

    print("SUCCESS auth-system-roles-collMod.js");
})();