When run in parallel, the tests that this commit changes cause the 'db' variable to be modified and impact other tests.
52 lines
1.9 KiB
JavaScript
52 lines
1.9 KiB
JavaScript
// Test explain of various operations against a non-existent database
|
|
(function() {
|
|
var explainMissingDb = db.getSiblingDB("explainMissingDb");
|
|
|
|
var explain;
|
|
var explainColl;
|
|
|
|
// .find()
|
|
explainMissingDb.dropDatabase();
|
|
explain = explainMissingDb.collection.explain("executionStats").find().finish();
|
|
assert.commandWorked(explain);
|
|
assert("executionStats" in explain);
|
|
|
|
// .count()
|
|
explainMissingDb.dropDatabase();
|
|
explain = explainMissingDb.collection.explain("executionStats").count();
|
|
assert.commandWorked(explain);
|
|
assert("executionStats" in explain);
|
|
|
|
// .group()
|
|
explainMissingDb.dropDatabase();
|
|
explainColl = explainMissingDb.collection.explain("executionStats");
|
|
explain = explainColl.group({key: "a", initial: {}, reduce: function() { } });
|
|
assert.commandWorked(explain);
|
|
assert("executionStats" in explain);
|
|
|
|
// .remove()
|
|
explainMissingDb.dropDatabase();
|
|
explain = explainMissingDb.collection.explain("executionStats").remove({a: 1});
|
|
assert.commandWorked(explain);
|
|
assert("executionStats" in explain);
|
|
|
|
// .update() with upsert: false
|
|
explainMissingDb.dropDatabase();
|
|
explainColl = explainMissingDb.collection.explain("executionStats");
|
|
explain = explainColl.update({a: 1}, {b: 1});
|
|
assert.commandWorked(explain);
|
|
assert("executionStats" in explain);
|
|
|
|
// .update() with upsert: true
|
|
explainMissingDb.dropDatabase();
|
|
explainColl = explainMissingDb.collection.explain("executionStats");
|
|
explain = explainColl.update({a: 1}, {b: 1}, {upsert: true});
|
|
assert.commandWorked(explain);
|
|
assert("executionStats" in explain);
|
|
|
|
// .aggregate()
|
|
explainMissingDb.dropDatabase();
|
|
explain = explainMissingDb.collection.explain("executionStats").aggregate([{$match: {a: 1}}]);
|
|
assert.commandWorked(explain);
|
|
}());
|