summaryrefslogtreecommitdiff
path: root/jstests/auth/curop_auth_info.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/auth/curop_auth_info.js')
-rw-r--r--jstests/auth/curop_auth_info.js132
1 files changed, 66 insertions, 66 deletions
diff --git a/jstests/auth/curop_auth_info.js b/jstests/auth/curop_auth_info.js
index 94f7426e4f1..2bb329b1eee 100644
--- a/jstests/auth/curop_auth_info.js
+++ b/jstests/auth/curop_auth_info.js
@@ -1,77 +1,77 @@
(function() {
- 'use strict';
+'use strict';
- const runTest = function(conn, failPointConn) {
- jsTestLog("Setting up users");
- const db = conn.getDB("admin");
- assert.commandWorked(
- db.runCommand({createUser: "admin", pwd: "pwd", roles: jsTest.adminUserRoles}));
- assert.eq(db.auth("admin", "pwd"), 1);
- assert.commandWorked(db.runCommand({createUser: "testuser", pwd: "pwd", roles: []}));
- db.grantRolesToUser("testuser", [{role: "readWrite", db: "test"}]);
+const runTest = function(conn, failPointConn) {
+ jsTestLog("Setting up users");
+ const db = conn.getDB("admin");
+ assert.commandWorked(
+ db.runCommand({createUser: "admin", pwd: "pwd", roles: jsTest.adminUserRoles}));
+ assert.eq(db.auth("admin", "pwd"), 1);
+ assert.commandWorked(db.runCommand({createUser: "testuser", pwd: "pwd", roles: []}));
+ db.grantRolesToUser("testuser", [{role: "readWrite", db: "test"}]);
- const queryFn = function() {
- assert.eq(db.getSiblingDB("admin").auth("testuser", "pwd"), 1);
- let testDB = db.getSiblingDB("test");
- testDB.test.insert({});
- assert.eq(testDB.test.find({}).comment("curop_auth_info.js query").itcount(), 1);
- };
-
- jsTestLog("blocking finds and starting parallel shell to create op");
- assert.commandWorked(failPointConn.getDB("admin").runCommand(
- {configureFailPoint: "waitInFindBeforeMakingBatch", mode: "alwaysOn"}));
- let finderWait = startParallelShell(queryFn, conn.port);
- let myOp;
+ const queryFn = function() {
+ assert.eq(db.getSiblingDB("admin").auth("testuser", "pwd"), 1);
+ let testDB = db.getSiblingDB("test");
+ testDB.test.insert({});
+ assert.eq(testDB.test.find({}).comment("curop_auth_info.js query").itcount(), 1);
+ };
- assert.soon(function() {
- const curOpResults = db.runCommand({currentOp: 1});
- assert.commandWorked(curOpResults);
- print(tojson(curOpResults));
- const myOps = curOpResults["inprog"].filter((op) => {
- return (op["command"]["comment"] == "curop_auth_info.js query");
- });
+ jsTestLog("blocking finds and starting parallel shell to create op");
+ assert.commandWorked(failPointConn.getDB("admin").runCommand(
+ {configureFailPoint: "waitInFindBeforeMakingBatch", mode: "alwaysOn"}));
+ let finderWait = startParallelShell(queryFn, conn.port);
+ let myOp;
- if (myOps.length == 0) {
- return false;
- }
- myOp = myOps[0];
- return true;
+ assert.soon(function() {
+ const curOpResults = db.runCommand({currentOp: 1});
+ assert.commandWorked(curOpResults);
+ print(tojson(curOpResults));
+ const myOps = curOpResults["inprog"].filter((op) => {
+ return (op["command"]["comment"] == "curop_auth_info.js query");
});
- jsTestLog("found op");
- assert.commandWorked(failPointConn.getDB("admin").runCommand(
- {configureFailPoint: "waitInFindBeforeMakingBatch", mode: "off"}));
- finderWait();
-
- const authedUsers = myOp["effectiveUsers"];
- const impersonators = myOp["runBy"];
- print(tojson(authedUsers), tojson(impersonators));
- if (impersonators) {
- assert.eq(authedUsers.length, 1);
- assert.docEq(authedUsers[0], {user: "testuser", db: "admin"});
- assert(impersonators);
- assert.eq(impersonators.length, 1);
- assert.docEq(impersonators[0], {user: "__system", db: "local"});
- } else {
- assert(authedUsers);
- assert.eq(authedUsers.length, 1);
- assert.docEq(authedUsers[0], {user: "testuser", db: "admin"});
+ if (myOps.length == 0) {
+ return false;
}
- };
+ myOp = myOps[0];
+ return true;
+ });
- const m = MongoRunner.runMongod();
- runTest(m, m);
- MongoRunner.stopMongod(m);
+ jsTestLog("found op");
+ assert.commandWorked(failPointConn.getDB("admin").runCommand(
+ {configureFailPoint: "waitInFindBeforeMakingBatch", mode: "off"}));
+ finderWait();
- const st = new ShardingTest({
- shards: 1,
- mongos: 1,
- config: 1,
- keyFile: 'jstests/libs/key1',
- other: {
- shardAsReplicaSet: false,
- }
- });
- runTest(st.s0, st.d0);
- st.stop();
+ const authedUsers = myOp["effectiveUsers"];
+ const impersonators = myOp["runBy"];
+ print(tojson(authedUsers), tojson(impersonators));
+ if (impersonators) {
+ assert.eq(authedUsers.length, 1);
+ assert.docEq(authedUsers[0], {user: "testuser", db: "admin"});
+ assert(impersonators);
+ assert.eq(impersonators.length, 1);
+ assert.docEq(impersonators[0], {user: "__system", db: "local"});
+ } else {
+ assert(authedUsers);
+ assert.eq(authedUsers.length, 1);
+ assert.docEq(authedUsers[0], {user: "testuser", db: "admin"});
+ }
+};
+
+const m = MongoRunner.runMongod();
+runTest(m, m);
+MongoRunner.stopMongod(m);
+
+const st = new ShardingTest({
+ shards: 1,
+ mongos: 1,
+ config: 1,
+ keyFile: 'jstests/libs/key1',
+ other: {
+ shardAsReplicaSet: false,
+ }
+});
+runTest(st.s0, st.d0);
+st.stop();
})();