0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
mongodb/jstests/noPassthrough/shell_helper_use_database.js
2019-07-27 11:02:23 -04:00

40 lines
1.2 KiB
JavaScript

/**
* Tests that shellHelper.use() updates the global 'db' object.
*/
// We explicitly declare the global 'db' object since the rest of the test runs with strict-mode
// enabled.
var db;
(function() {
"use strict";
const conn = MongoRunner.runMongod({});
assert.neq(null, conn, "mongod was unable to start up");
db = conn.getDB("db1");
assert.eq("db1", db.getName());
// Tests that shellHelper.use() updates the global 'db' object to refer to a DB object with the
// database name specified.
shellHelper.use("db2");
assert.eq("db2", db.getName());
// Replace the global 'db' object with a DB object from a new session and verify that
// shellHelper.use() still works.
db = conn.startSession().getDatabase("db1");
assert.eq("db1", db.getName());
const session = db.getSession();
// Tests that shellHelper.use() updates the global 'db' object to refer to a DB object with the
// database name specified. The DB objects should have the same underlying DriverSession object.
shellHelper.use("db2");
assert.eq("db2", db.getName());
assert(session === db.getSession(), "session wasn't inherited as part of switching databases");
session.endSession();
MongoRunner.stopMongod(conn);
})();