summaryrefslogtreecommitdiff
path: root/jstests/sharding/ismaster.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/sharding/ismaster.js')
-rw-r--r--jstests/sharding/ismaster.js94
1 files changed, 37 insertions, 57 deletions
diff --git a/jstests/sharding/ismaster.js b/jstests/sharding/ismaster.js
index a582f677241..2d5cea7b586 100644
--- a/jstests/sharding/ismaster.js
+++ b/jstests/sharding/ismaster.js
@@ -1,62 +1,42 @@
-/**
- * This test ensures that the hello command and its aliases, ismaster and isMaster, are all
- * accepted by mongos.
- */
"use strict";
var st = new ShardingTest({shards: 1, mongos: 1});
-
-function checkResponseFields(commandString) {
- jsTestLog("Running the " + commandString + " command");
- var res = st.s0.getDB("admin").runCommand(commandString);
-
- // check that the fields that should be there are there and have proper values
- assert(res.maxBsonObjectSize && isNumber(res.maxBsonObjectSize) && res.maxBsonObjectSize > 0,
- "maxBsonObjectSize possibly missing:" + tojson(res));
- assert(
- res.maxMessageSizeBytes && isNumber(res.maxMessageSizeBytes) && res.maxBsonObjectSize > 0,
- "maxMessageSizeBytes possibly missing:" + tojson(res));
-
- // TODO SERVER-49988: Check for res.isWritablePrimary instead of res.ismaster if a hello command
- // was executed.
- assert.eq("boolean", typeof res.ismaster, "ismaster field is not a boolean" + tojson(res));
- assert(res.ismaster === true, "ismaster field is false" + tojson(res));
-
- assert(res.localTime, "localTime possibly missing:" + tojson(res));
- assert(res.msg && res.msg == "isdbgrid", "msg possibly missing or wrong:" + tojson(res));
-
- var unwantedFields = [
- "setName",
- "setVersion",
- "secondary",
- "hosts",
- "passives",
- "arbiters",
- "primary",
- "aribterOnly",
- "passive",
- "slaveDelay",
- "hidden",
- "tags",
- "buildIndexes",
- "me"
- ];
- // check that the fields that shouldn't be there are not there
- var badFields = [];
- var field;
- for (field in res) {
- if (!res.hasOwnProperty(field)) {
- continue;
- }
- if (Array.contains(unwantedFields, field)) {
- badFields.push(field);
- }
+var res = st.s0.getDB("admin").runCommand("ismaster");
+// check that the fields that should be there are there and have proper values
+assert(res.maxBsonObjectSize && isNumber(res.maxBsonObjectSize) && res.maxBsonObjectSize > 0,
+ "maxBsonObjectSize possibly missing:" + tojson(res));
+assert(res.maxMessageSizeBytes && isNumber(res.maxMessageSizeBytes) && res.maxBsonObjectSize > 0,
+ "maxMessageSizeBytes possibly missing:" + tojson(res));
+assert.eq("boolean", typeof res.ismaster, "ismaster field is not a boolean" + tojson(res));
+assert(res.ismaster === true, "ismaster field is false" + tojson(res));
+assert(res.localTime, "localTime possibly missing:" + tojson(res));
+assert(res.msg && res.msg == "isdbgrid", "msg possibly missing or wrong:" + tojson(res));
+var unwantedFields = [
+ "setName",
+ "setVersion",
+ "secondary",
+ "hosts",
+ "passives",
+ "arbiters",
+ "primary",
+ "aribterOnly",
+ "passive",
+ "slaveDelay",
+ "hidden",
+ "tags",
+ "buildIndexes",
+ "me"
+];
+// check that the fields that shouldn't be there are not there
+var badFields = [];
+var field;
+for (field in res) {
+ if (!res.hasOwnProperty(field)) {
+ continue;
+ }
+ if (Array.contains(unwantedFields, field)) {
+ badFields.push(field);
}
- assert(badFields.length === 0,
- "\nthe result:\n" + tojson(res) + "\ncontained fields it shouldn't have: " + badFields);
}
-
-checkResponseFields("hello");
-checkResponseFields("ismaster");
-checkResponseFields("isMaster");
-
+assert(badFields.length === 0,
+ "\nthe result:\n" + tojson(res) + "\ncontained fields it shouldn't have: " + badFields);
st.stop();