blob: c82a8d8b8b1aaf77c24dcf3841ce6182756edeb2 (
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
|
// Verify custom roles still exist after noop collMod calls
(function() {
'use strict';
print("START auth-system-roles-collMod.js");
TestData.roleGraphInvalidationIsFatal = false;
var conn = MongoRunner.runMongod({});
var db = conn.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");
MongoRunner.stopMongod(conn);
})();
|