summaryrefslogtreecommitdiff
path: root/jstests/core/list_databases.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/list_databases.js')
-rw-r--r--jstests/core/list_databases.js145
1 files changed, 72 insertions, 73 deletions
diff --git a/jstests/core/list_databases.js b/jstests/core/list_databases.js
index 930e6f36322..2a1db9fc5d1 100644
--- a/jstests/core/list_databases.js
+++ b/jstests/core/list_databases.js
@@ -2,92 +2,91 @@
* Tests for the listDatabases command.
*/
(function() {
- "use strict";
+"use strict";
- // Given the output from the listDatabases command, ensures that the total size reported is the
- // sum of the individual db sizes.
- function verifySizeSum(listDatabasesOut) {
- assert(listDatabasesOut.hasOwnProperty("databases"));
- const dbList = listDatabasesOut.databases;
- let sizeSum = 0;
- for (let i = 0; i < dbList.length; i++) {
- sizeSum += dbList[i].sizeOnDisk;
- }
- assert.eq(sizeSum, listDatabasesOut.totalSize);
+// Given the output from the listDatabases command, ensures that the total size reported is the
+// sum of the individual db sizes.
+function verifySizeSum(listDatabasesOut) {
+ assert(listDatabasesOut.hasOwnProperty("databases"));
+ const dbList = listDatabasesOut.databases;
+ let sizeSum = 0;
+ for (let i = 0; i < dbList.length; i++) {
+ sizeSum += dbList[i].sizeOnDisk;
}
+ assert.eq(sizeSum, listDatabasesOut.totalSize);
+}
- function verifyNameOnly(listDatabasesOut) {
- for (let field in listDatabasesOut) {
- assert(['databases', 'nameOnly', 'ok', 'operationTime', '$clusterTime'].some((f) => f ==
- field),
- 'unexpected field ' + field);
- }
- listDatabasesOut.databases.forEach((database) => {
- for (let field in database) {
- assert.eq(field, "name", "expected name only");
- }
- });
+function verifyNameOnly(listDatabasesOut) {
+ for (let field in listDatabasesOut) {
+ assert(['databases', 'nameOnly', 'ok', 'operationTime', '$clusterTime'].some((f) => f ==
+ field),
+ 'unexpected field ' + field);
}
+ listDatabasesOut.databases.forEach((database) => {
+ for (let field in database) {
+ assert.eq(field, "name", "expected name only");
+ }
+ });
+}
- // Make 4 test databases.
- db.getSiblingDB("jstest_list_databases_foo").coll.insert({});
- db.getSiblingDB("jstest_list_databases_bar").coll.insert({});
- db.getSiblingDB("jstest_list_databases_baz").coll.insert({});
- db.getSiblingDB("jstest_list_databases_zap").coll.insert({});
+// Make 4 test databases.
+db.getSiblingDB("jstest_list_databases_foo").coll.insert({});
+db.getSiblingDB("jstest_list_databases_bar").coll.insert({});
+db.getSiblingDB("jstest_list_databases_baz").coll.insert({});
+db.getSiblingDB("jstest_list_databases_zap").coll.insert({});
- let cmdRes = assert.commandWorked(
- db.adminCommand({listDatabases: 1, filter: {name: /jstest_list_databases/}}));
- assert.eq(4, cmdRes.databases.length);
- verifySizeSum(cmdRes);
+let cmdRes = assert.commandWorked(
+ db.adminCommand({listDatabases: 1, filter: {name: /jstest_list_databases/}}));
+assert.eq(4, cmdRes.databases.length);
+verifySizeSum(cmdRes);
- // Now only list databases starting with a particular prefix.
- cmdRes = assert.commandWorked(
- db.adminCommand({listDatabases: 1, filter: {name: /^jstest_list_databases_ba/}}));
- assert.eq(2, cmdRes.databases.length);
- verifySizeSum(cmdRes);
+// Now only list databases starting with a particular prefix.
+cmdRes = assert.commandWorked(
+ db.adminCommand({listDatabases: 1, filter: {name: /^jstest_list_databases_ba/}}));
+assert.eq(2, cmdRes.databases.length);
+verifySizeSum(cmdRes);
- // Now return only the admin database.
- cmdRes = assert.commandWorked(db.adminCommand({listDatabases: 1, filter: {name: "admin"}}));
- assert.eq(1, cmdRes.databases.length);
- verifySizeSum(cmdRes);
+// Now return only the admin database.
+cmdRes = assert.commandWorked(db.adminCommand({listDatabases: 1, filter: {name: "admin"}}));
+assert.eq(1, cmdRes.databases.length);
+verifySizeSum(cmdRes);
- // Now return only the names.
- cmdRes = assert.commandWorked(db.adminCommand({listDatabases: 1, nameOnly: true}));
- assert.lte(4, cmdRes.databases.length, tojson(cmdRes));
- verifyNameOnly(cmdRes);
+// Now return only the names.
+cmdRes = assert.commandWorked(db.adminCommand({listDatabases: 1, nameOnly: true}));
+assert.lte(4, cmdRes.databases.length, tojson(cmdRes));
+verifyNameOnly(cmdRes);
- // Now return only the name of the zap database.
- cmdRes = assert.commandWorked(
- db.adminCommand({listDatabases: 1, nameOnly: true, filter: {name: /zap/}}));
- assert.eq(1, cmdRes.databases.length, tojson(cmdRes));
- verifyNameOnly(cmdRes);
+// Now return only the name of the zap database.
+cmdRes = assert.commandWorked(
+ db.adminCommand({listDatabases: 1, nameOnly: true, filter: {name: /zap/}}));
+assert.eq(1, cmdRes.databases.length, tojson(cmdRes));
+verifyNameOnly(cmdRes);
- // $expr in filter.
- cmdRes = assert.commandWorked(db.adminCommand(
- {listDatabases: 1, filter: {$expr: {$eq: ["$name", "jstest_list_databases_zap"]}}}));
- assert.eq(1, cmdRes.databases.length, tojson(cmdRes));
- assert.eq("jstest_list_databases_zap", cmdRes.databases[0].name, tojson(cmdRes));
+// $expr in filter.
+cmdRes = assert.commandWorked(db.adminCommand(
+ {listDatabases: 1, filter: {$expr: {$eq: ["$name", "jstest_list_databases_zap"]}}}));
+assert.eq(1, cmdRes.databases.length, tojson(cmdRes));
+assert.eq("jstest_list_databases_zap", cmdRes.databases[0].name, tojson(cmdRes));
- // $expr with an unbound variable in filter.
- assert.commandFailed(
- db.adminCommand({listDatabases: 1, filter: {$expr: {$eq: ["$name", "$$unbound"]}}}));
+// $expr with an unbound variable in filter.
+assert.commandFailed(
+ db.adminCommand({listDatabases: 1, filter: {$expr: {$eq: ["$name", "$$unbound"]}}}));
- // $expr with a filter that throws at runtime.
- assert.commandFailed(db.adminCommand({listDatabases: 1, filter: {$expr: {$abs: "$name"}}}));
+// $expr with a filter that throws at runtime.
+assert.commandFailed(db.adminCommand({listDatabases: 1, filter: {$expr: {$abs: "$name"}}}));
- // No extensions are allowed in filters.
- assert.commandFailed(db.adminCommand({listDatabases: 1, filter: {$text: {$search: "str"}}}));
- assert.commandFailed(db.adminCommand({
- listDatabases: 1,
- filter: {
- $where: function() {
- return true;
- }
+// No extensions are allowed in filters.
+assert.commandFailed(db.adminCommand({listDatabases: 1, filter: {$text: {$search: "str"}}}));
+assert.commandFailed(db.adminCommand({
+ listDatabases: 1,
+ filter: {
+ $where: function() {
+ return true;
}
- }));
- assert.commandFailed(db.adminCommand({
- listDatabases: 1,
- filter: {a: {$nearSphere: {$geometry: {type: "Point", coordinates: [0, 0]}}}}
- }));
-
+ }
+}));
+assert.commandFailed(db.adminCommand({
+ listDatabases: 1,
+ filter: {a: {$nearSphere: {$geometry: {type: "Point", coordinates: [0, 0]}}}}
+}));
}());