summaryrefslogtreecommitdiff
path: root/jstests/auth/profile_access.js
blob: b31f7f502e070d6dde0079b93a3bf7516df8febe (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// @tags: [requires_profiling]
var conn = MongoRunner.runMongod({auth: ""});

var adminDb = conn.getDB("admin");
var 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'});