Files
mongo/jstests/multiVersion/libs/upgrade_downgrade_cluster_shared.js
Steve McClure 1ffbc6c2e9 SERVER-109432: Autofix JS var usage to favor let (#40637)
GitOrigin-RevId: 9674b7db36a0f3f650d39c1e3fb2ad6ff2141cfb
2025-08-28 19:21:01 +00:00

64 lines
2.9 KiB
JavaScript

export var testCRUDAndAgg = function (db) {
assert.commandWorked(db.foo.insert({x: 1}));
assert.commandWorked(db.foo.insert({x: -1}));
assert.commandWorked(db.foo.update({x: 1}, {$set: {y: 1}}));
assert.commandWorked(db.foo.update({x: -1}, {$set: {y: 1}}));
let doc1 = db.foo.findOne({x: 1});
assert.eq(1, doc1.y);
let doc2 = db.foo.findOne({x: -1});
assert.eq(1, doc2.y);
assert.commandWorked(db.foo.remove({x: 1}, true));
assert.commandWorked(db.foo.remove({x: -1}, true));
assert.eq(null, db.foo.findOne());
};
export var testDDLOps = function (st) {
let shard0Name = st.shard0.shardName;
let shard1Name = st.shard1.shardName;
let db = st.s.getDB("sharded");
let configDB = st.s.getDB("config");
assert.commandWorked(db.foo.insert({x: 1}));
// moveChunk
let shard0NumChunks = configDB.chunks.find({shard: shard0Name}).toArray().length;
let shard1NumChunks = configDB.chunks.find({shard: shard1Name}).toArray().length;
assert.commandWorked(st.s.adminCommand({moveChunk: "sharded.foo", find: {x: 1}, to: shard0Name}));
let newShard0NumChunks = configDB.chunks.find({shard: shard0Name}).toArray().length;
let newShard1NumChunks = configDB.chunks.find({shard: shard1Name}).toArray().length;
assert.eq(newShard0NumChunks, shard0NumChunks + 1);
assert.eq(newShard1NumChunks, shard1NumChunks - 1);
assert.commandWorked(st.s.adminCommand({moveChunk: "sharded.foo", find: {x: 1}, to: shard1Name}));
// shardCollection
assert.eq(null, configDB.collections.findOne({_id: "sharded.apple"}));
assert.commandWorked(st.s.adminCommand({shardCollection: "sharded.apple", key: {_id: 1}}));
assert.eq(1, configDB.collections.find({_id: "sharded.apple"}).toArray().length);
// renameCollection
assert.commandWorked(st.s.adminCommand({renameCollection: "sharded.apple", to: "sharded.pear", dropTarget: true}));
assert.eq(null, configDB.collections.findOne({_id: "sharded.apple"}));
assert.eq(1, configDB.collections.find({_id: "sharded.pear"}).toArray().length);
// drop a collection
assert.commandWorked(db.runCommand({drop: "pear"}));
assert.eq(null, configDB.collections.findOne({_id: "sharded.pear"}));
// movePrimary
assert(configDB.databases.findOne({_id: "sharded", primary: shard0Name}));
assert.commandWorked(st.s.adminCommand({movePrimary: "sharded", to: shard1Name}));
assert.eq(null, configDB.databases.findOne({_id: "sharded", primary: shard0Name}));
assert(configDB.databases.findOne({_id: "sharded", primary: shard1Name}));
assert.commandWorked(st.s.adminCommand({movePrimary: "sharded", to: shard0Name}));
assert.eq(null, configDB.databases.findOne({_id: "sharded", primary: shard1Name}));
assert(configDB.databases.findOne({_id: "sharded", primary: shard0Name}));
assert.commandWorked(db.foo.remove({x: 1}, true));
assert.eq(null, db.foo.findOne());
};