Files
mongo/jstests/multiVersion/targetedTestsLastLtsFeatures/error_and_log_validation_action.js
Matt Broadstone 771dabd098 SERVER-81339 Convert ReplSetTest and ShardingTest to modules (#26332)
GitOrigin-RevId: 744aa110a53786b23c62ff53f87a1418b5991e8d
2024-08-20 22:00:49 +00:00

34 lines
1.1 KiB
JavaScript

/**
* Test edge cases for the rangePreview -> range rename.
*/
import "jstests/multiVersion/libs/multi_rs.js";
import {ReplSetTest} from "jstests/libs/replsettest.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();