Files
mongo/jstests/multiVersion/targetedTestsLastLtsFeatures/error_and_log_validation_action.js
Ivan Fefer 2393c90690 SERVER-74887 Add errorAndLog validate action (#20533)
GitOrigin-RevId: 3f546575817bfa47c82a0e613d8fcb1d0033e79a
2024-04-10 11:23:22 +00:00

32 lines
1023 B
JavaScript

/**
* Test edge cases for the rangePreview -> range rename.
*/
import "jstests/multiVersion/libs/multi_rs.js";
// TODO SERVER-88921 Remove this test
const rst = new ReplSetTest({nodes: 2, nodeOptions: {binVersion: 'latest'}});
rst.startSet();
rst.initiate();
const db = rst.getPrimary().getDB("test");
assert.commandWorked(
db.createCollection("test", {validator: {a: 1}, validationAction: "errorAndLog"}));
// Can't downgrade FCV to lastLTS when collection has errorAndLog validation action.
assert.commandFailedWithCode(
rst.getPrimary().adminCommand({setFeatureCompatibilityVersion: lastLTSFCV, confirm: true}),
ErrorCodes.CannotDowngrade);
assert.commandWorked(db.runCommand({collMod: "test", validationAction: "error"}));
// After removing errorAndLog validation action, we should eventually be able to downgrade
assert.soon(() => {
assert.commandWorked(
rst.getPrimary().adminCommand({setFeatureCompatibilityVersion: lastLTSFCV, confirm: true}));
return true;
});
rst.stopSet();