Files
mongo/jstests/auth/system_roles_collMod.js
2019-07-27 11:02:23 -04:00

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