2020-05-27 14:04:49 +03:00
|
|
|
/**
|
|
|
|
|
* Tests that an unknown field in the explain command will be rejected while generic command
|
|
|
|
|
* arguments will be permitted to pass validation.
|
|
|
|
|
*
|
2020-08-13 19:13:40 -04:00
|
|
|
* @tags: [
|
2021-09-23 14:06:34 +03:00
|
|
|
* assumes_read_concern_local,
|
2020-08-13 19:13:40 -04:00
|
|
|
* ]
|
2020-05-27 14:04:49 +03:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
(function() {
|
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
|
|
const testDB = db.getSiblingDB(jsTestName());
|
|
|
|
|
|
|
|
|
|
// Drop and recreate the test database and a test collection.
|
|
|
|
|
assert.commandWorked(testDB.dropDatabase());
|
|
|
|
|
assert.commandWorked(testDB.test.createIndex({a: 1}));
|
|
|
|
|
|
|
|
|
|
// Test that an unknown field is rejected during explain command parsing.
|
|
|
|
|
assert.commandFailedWithCode(testDB.runCommand({explain: {find: "test"}, unknownField: true}),
|
2021-02-03 18:04:52 +00:00
|
|
|
40415);
|
2020-05-27 14:04:49 +03:00
|
|
|
|
|
|
|
|
// Test that a generic argument will be accepted by command parsing.
|
|
|
|
|
assert.commandWorked(testDB.runCommand({explain: {find: "test"}, comment: true}));
|
2020-08-04 14:46:30 -04:00
|
|
|
})();
|