diff options
Diffstat (limited to 'jstests/libs/feature_compatibility_version.js')
-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 |