blob: b59e0b1f674dfcc562d8024e7864702fcc7932f7 (
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
43
44
45
46
47
48
49
|
// @tags: [requires_profiling, creates_and_authenticates_user]
// special db so that it can be run in parallel tests
var stddb = db;
var db = db.getSisterDB("profile3");
db.dropAllUsers();
t = db.profile3;
t.drop();
profileCursor = function(query) {
print("----");
query = query || {};
Object.extend(query, {user: username + "@" + db.getName()});
return db.system.profile.find(query);
};
try {
username = "jstests_profile3_user";
db.createUser({user: username, pwd: "password", roles: jsTest.basicUserRoles});
db.auth(username, "password");
db.setProfilingLevel(0);
db.system.profile.drop();
assert.eq(0, profileCursor().count());
db.setProfilingLevel(2);
db.createCollection(t.getName());
t.insert({x: 1});
t.findOne({x: 1});
t.find({x: 1}).count();
t.update({x: 1}, {$inc: {a: 1}, $set: {big: Array(128).toString()}});
t.update({x: 1}, {$inc: {a: 1}});
t.update({x: 0}, {$inc: {a: 1}});
profileCursor().forEach(printjson);
db.setProfilingLevel(0);
assert.eq(profileCursor({nMatched: {$exists: 1}}).count(), 3);
assert.eq(profileCursor({nMatched: 1}).count(), 2);
assert.eq(profileCursor({nMatched: 0}).count(), 1);
db.system.profile.drop();
} finally {
db.setProfilingLevel(0);
db = stddb;
}
|