mirror of https://github.com/mongodb/mongo
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
// @tags: [requires_profiling]
|
|
let conn = MongoRunner.runMongod({auth: ""});
|
|
|
|
let adminDb = conn.getDB("admin");
|
|
let testDb = conn.getDB("testdb");
|
|
|
|
adminDb.createUser({
|
|
user: "admin",
|
|
pwd: "password",
|
|
roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"],
|
|
});
|
|
|
|
adminDb.auth("admin", "password");
|
|
testDb.createUser({user: "readUser", pwd: "password", roles: ["read"]});
|
|
testDb.createUser({user: "dbAdminUser", pwd: "password", roles: ["dbAdmin"]});
|
|
testDb.createUser({
|
|
user: "dbAdminAnyDBUser",
|
|
pwd: "password",
|
|
roles: [{role: "dbAdminAnyDatabase", db: "admin"}],
|
|
});
|
|
testDb.setProfilingLevel(2);
|
|
testDb.foo.findOne();
|
|
adminDb.logout();
|
|
testDb.auth("readUser", "password");
|
|
assert.throws(function () {
|
|
testDb.system.profile.findOne();
|
|
});
|
|
testDb.logout();
|
|
|
|
// SERVER-14355
|
|
testDb.auth("dbAdminUser", "password");
|
|
testDb.setProfilingLevel(0);
|
|
testDb.system.profile.drop();
|
|
assert.commandWorked(testDb.createCollection("system.profile", {capped: true, size: 1024}));
|
|
testDb.logout();
|
|
|
|
// SERVER-16944
|
|
testDb.auth("dbAdminAnyDBUser", "password");
|
|
testDb.setProfilingLevel(0);
|
|
testDb.system.profile.drop();
|
|
assert.commandWorked(testDb.createCollection("system.profile", {capped: true, size: 1024}));
|
|
MongoRunner.stopMongod(conn, null, {user: "admin", pwd: "password"});
|