diff options
author | Tess Avitabile <tess.avitabile@mongodb.com> | 2017-10-24 14:48:16 -0400 |
---|---|---|
committer | Tess Avitabile <tess.avitabile@mongodb.com> | 2017-10-25 12:18:07 -0400 |
commit | 23e886eebf9794190d198da98cd96e4127bb3dc8 (patch) | |
tree | ae150142ceed1cf3c7385cd4688caf19b2192b69 /jstests/libs | |
parent | de2a67178e3365b829d57afde92cb6123dd24357 (diff) | |
download | mongo-23e886eebf9794190d198da98cd96e4127bb3dc8.tar.gz |
SERVER-31630 getParameter for featureCompatibilityVersion must expose targetVersion
Diffstat (limited to 'jstests/libs')
-rw-r--r-- | jstests/libs/feature_compatibility_version.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/jstests/libs/feature_compatibility_version.js b/jstests/libs/feature_compatibility_version.js new file mode 100644 index 00000000000..116706eaf27 --- /dev/null +++ b/jstests/libs/feature_compatibility_version.js @@ -0,0 +1,33 @@ +// Contains helpers for checking the featureCompatibilityVersion. + +/** + * Checks the featureCompatibilityVersion document and server parameter. The + * featureCompatibilityVersion document is of the form {_id: "featureCompatibilityVersion", version: + * <required>, targetVersion: <optional>}. The getParameter result is of the form + * {featureCompatibilityVersion: {version: <required>, targetVersion: <optional>}, ok: 1}. + */ +function checkFCV(adminDB, version, targetVersion) { + let res = adminDB.runCommand({getParameter: 1, featureCompatibilityVersion: 1}); + assert.commandWorked(res); + assert.eq(res.featureCompatibilityVersion.version, version, tojson(res)); + assert.eq(res.featureCompatibilityVersion.targetVersion, targetVersion, tojson(res)); + + let doc = adminDB.system.version.findOne({_id: "featureCompatibilityVersion"}); + assert.eq(doc.version, version, tojson(doc)); + assert.eq(doc.targetVersion, targetVersion, tojson(doc)); +} + +/** + * Checks the featureCompatibilityVersion document and server parameter for a 3.4 binary. In 3.4, + * the featureCompatibilityVersion document is of the form {_id: "featureCompatibilityVersion", + * version: <value>}. The getParameter result is of the form {featureCompatibilityVersion: <value>, + * ok: 1}. + */ +function checkFCV34(adminDB, version) { + let res = adminDB.runCommand({getParameter: 1, featureCompatibilityVersion: 1}); + assert.commandWorked(res); + assert.eq(res.featureCompatibilityVersion, version, tojson(res)); + + let doc = adminDB.system.version.findOne({_id: "featureCompatibilityVersion"}); + assert.eq(doc.version, version, tojson(doc)); +}
\ No newline at end of file |