summaryrefslogtreecommitdiff
path: root/jstests/replsets/auth2.js
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2017-03-26 07:06:06 -0400
committerBenety Goh <benety@mongodb.com>2017-03-28 21:57:25 -0400
commit0501d9eedc19ee1d4bf35525fb25d0e5a50caa49 (patch)
treede40d569cb88682b2ded00d88bdc77baae77c7f5 /jstests/replsets/auth2.js
parentdf4c3c906df51ad69485942341bd2cd3c8a859bf (diff)
downloadmongo-0501d9eedc19ee1d4bf35525fb25d0e5a50caa49.tar.gz
SERVER-28376 fixed replsets/auth2.js to not clobber global 'rs' variable.
Diffstat (limited to 'jstests/replsets/auth2.js')
-rw-r--r--jstests/replsets/auth2.js112
1 files changed, 58 insertions, 54 deletions
diff --git a/jstests/replsets/auth2.js b/jstests/replsets/auth2.js
index 2300b03bf9c..a54e88c6990 100644
--- a/jstests/replsets/auth2.js
+++ b/jstests/replsets/auth2.js
@@ -3,74 +3,78 @@
// This test requires users to persist across a restart.
// @tags: [requires_persistence]
-var testInvalidAuthStates = function() {
- print("check that 0 is in recovering");
- rs.waitForState(rs.nodes[0], ReplSetTest.State.RECOVERING);
+(function() {
+ var testInvalidAuthStates = function(replSetTest) {
+ print("check that 0 is in recovering");
+ replSetTest.waitForState(replSetTest.nodes[0], ReplSetTest.State.RECOVERING);
- print("shut down 1, 0 still in recovering.");
- rs.stop(1);
- sleep(5);
+ print("shut down 1, 0 still in recovering.");
+ replSetTest.stop(1);
+ sleep(5);
- rs.waitForState(rs.nodes[0], ReplSetTest.State.RECOVERING);
+ replSetTest.waitForState(replSetTest.nodes[0], ReplSetTest.State.RECOVERING);
- print("shut down 2, 0 becomes a secondary.");
- rs.stop(2);
+ print("shut down 2, 0 becomes a secondary.");
+ replSetTest.stop(2);
- rs.waitForState(rs.nodes[0], ReplSetTest.State.SECONDARY);
+ replSetTest.waitForState(replSetTest.nodes[0], ReplSetTest.State.SECONDARY);
- rs.restart(1, {"keyFile": key1});
- rs.restart(2, {"keyFile": key1});
-};
+ replSetTest.restart(1, {"keyFile": key1});
+ replSetTest.restart(2, {"keyFile": key1});
+ };
-var name = "rs_auth2";
-var path = "jstests/libs/";
+ var name = "rs_auth2";
+ var path = "jstests/libs/";
-// These keyFiles have their permissions set to 600 later in the test.
-var key1 = path + "key1";
-var key2 = path + "key2";
+ // These keyFiles have their permissions set to 600 later in the test.
+ var key1 = path + "key1";
+ var key2 = path + "key2";
-var rs = new ReplSetTest({name: name, nodes: 3});
-var nodes = rs.startSet();
-var hostnames = rs.nodeList();
-rs.initiate({
- "_id": name,
- "members": [
- {"_id": 0, "host": hostnames[0], "priority": 2},
- {"_id": 1, "host": hostnames[1], priority: 0},
- {"_id": 2, "host": hostnames[2], priority: 0}
- ]
-});
+ var replSetTest = new ReplSetTest({name: name, nodes: 3});
+ var nodes = replSetTest.startSet();
+ var hostnames = replSetTest.nodeList();
+ replSetTest.initiate({
+ "_id": name,
+ "members": [
+ {"_id": 0, "host": hostnames[0], "priority": 2},
+ {"_id": 1, "host": hostnames[1], priority: 0},
+ {"_id": 2, "host": hostnames[2], priority: 0}
+ ]
+ });
-var master = rs.getPrimary();
+ var master = replSetTest.getPrimary();
-print("add an admin user");
-master.getDB("admin").createUser({user: "foo", pwd: "bar", roles: jsTest.adminUserRoles},
- {w: 3, wtimeout: 30000});
-var m = rs.nodes[0];
+ print("add an admin user");
+ master.getDB("admin").createUser({user: "foo", pwd: "bar", roles: jsTest.adminUserRoles},
+ {w: 3, wtimeout: 30000});
+ var m = replSetTest.nodes[0];
-print("starting 1 and 2 with key file");
-rs.stop(1);
-rs.restart(1, {"keyFile": key1});
-rs.stop(2);
-rs.restart(2, {"keyFile": key1});
+ print("starting 1 and 2 with key file");
+ replSetTest.stop(1);
+ replSetTest.restart(1, {"keyFile": key1});
+ replSetTest.stop(2);
+ replSetTest.restart(2, {"keyFile": key1});
-// auth to all nodes with auth
-rs.nodes[1].getDB("admin").auth("foo", "bar");
-rs.nodes[2].getDB("admin").auth("foo", "bar");
-testInvalidAuthStates();
+ // auth to all nodes with auth
+ replSetTest.nodes[1].getDB("admin").auth("foo", "bar");
+ replSetTest.nodes[2].getDB("admin").auth("foo", "bar");
+ testInvalidAuthStates(replSetTest);
-print("restart mongod with bad keyFile");
+ print("restart mongod with bad keyFile");
-rs.stop(0);
-m = rs.restart(0, {"keyFile": key2});
+ replSetTest.stop(0);
+ m = replSetTest.restart(0, {"keyFile": key2});
-// auth to all nodes
-rs.nodes[0].getDB("admin").auth("foo", "bar");
-rs.nodes[1].getDB("admin").auth("foo", "bar");
-rs.nodes[2].getDB("admin").auth("foo", "bar");
-testInvalidAuthStates();
+ // auth to all nodes
+ replSetTest.nodes[0].getDB("admin").auth("foo", "bar");
+ replSetTest.nodes[1].getDB("admin").auth("foo", "bar");
+ replSetTest.nodes[2].getDB("admin").auth("foo", "bar");
+ testInvalidAuthStates(replSetTest);
-rs.stop(0);
-m = rs.restart(0, {"keyFile": key1});
+ replSetTest.stop(0);
+ m = replSetTest.restart(0, {"keyFile": key1});
-print("0 becomes a secondary");
+ print("0 becomes a secondary");
+
+ replSetTest.stopSet();
+}()); \ No newline at end of file