diff options
Diffstat (limited to 'jstests/profile3.js')
| -rw-r--r-- | jstests/profile3.js | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/jstests/profile3.js b/jstests/profile3.js index a6574b76f8a..1f2da422f40 100644 --- a/jstests/profile3.js +++ b/jstests/profile3.js @@ -1,26 +1,51 @@ +// special db so that it can be run in parallel tests +var stddb = db; +var db = db.getSisterDB("profile3"); + t = db.profile3; t.drop(); +function profileCursor( query ) { + query = query || {}; + Object.extend( query, { user:username } ); + return db.system.profile.find( query ); +} + try { + username = "jstests_profile3_user"; + db.addUser( username, "password", false, 1 ); + db.auth( username, "password" ); + db.setProfilingLevel(0); db.system.profile.drop(); - assert.eq( 0 , db.system.profile.count() ) + assert.eq( 0 , profileCursor().count() ) db.setProfilingLevel(2); t.insert( { x : 1 } ); t.findOne( { x : 1 } ); t.find( { x : 1 } ).count(); + t.update( { x : 1 }, {$inc:{a:1}} ); + t.update( { x : 1 }, {$inc:{a:1}} ); + t.update( { x : 0 }, {$inc:{a:1}} ); - db.system.profile.find().forEach( printjson ) + profileCursor().forEach( printjson ) db.setProfilingLevel(0); + + + assert.eq(profileCursor({nupdated: {$exists:1}}).count(), 3) + assert.eq(profileCursor({nupdated: 1}).count(), 2) + assert.eq(profileCursor({nupdated: 0}).count(), 1) + assert.eq(profileCursor({nmoved: 1}).count(), 1) + db.system.profile.drop(); } finally { db.setProfilingLevel(0); + db = stddb; } |
