25 lines
918 B
JavaScript
25 lines
918 B
JavaScript
// 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);
|
|
})();
|