mongo/jstests/replsets/writes_wait_for_write_concern_timeseries.js
2026-04-29 09:39:27 +00:00

50 lines
1.3 KiB
JavaScript

/**
* Tests that commands that accept write concern correctly return write concern errors when run
* on timeseries collections.
*
* @tags: [
* multiversion_incompatible,
* uses_transactions,
* does_not_support_stepdowns,
* ]
*/
import {ReplSetTest} from "jstests/libs/replsettest.js";
import {
checkWriteConcernBehaviorAdditionalCRUDOps,
checkWriteConcernBehaviorForAllCommands,
} from "jstests/libs/write_concern_all_commands.js";
const name = jsTestName();
const replTest = new ReplSetTest({
name: name,
nodes: [{}, {rsConfig: {priority: 0}}, {rsConfig: {priority: 0}}],
});
replTest.startSet();
replTest.initiate();
const preSetupTimeseries = function (conn, cluster, dbName, collName) {
let db = conn.getDB(dbName);
assert.commandWorked(db.createCollection(collName, {timeseries: {timeField: "time", metaField: "meta"}}));
};
checkWriteConcernBehaviorForAllCommands(
replTest.getPrimary(),
replTest,
"rs" /* clusterType */,
preSetupTimeseries,
false /* shardedCollection */,
true /*limitToTimeseries*/,
);
checkWriteConcernBehaviorAdditionalCRUDOps(
replTest.getPrimary(),
replTest,
"rs" /* clusterType */,
preSetupTimeseries,
false /* shardedCollection */,
false /* writeWithoutShardKey */,
true /*limitToTimeseries*/,
);
replTest.stopSet();