diff options
author | Benety Goh <benety@mongodb.com> | 2017-03-26 07:06:06 -0400 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2017-03-28 21:57:25 -0400 |
commit | 0501d9eedc19ee1d4bf35525fb25d0e5a50caa49 (patch) | |
tree | de40d569cb88682b2ded00d88bdc77baae77c7f5 /jstests/replsets/auth2.js | |
parent | df4c3c906df51ad69485942341bd2cd3c8a859bf (diff) | |
download | mongo-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.js | 112 |
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 |