Files
mongo/jstests/core/unique_index_insert.js
2021-09-02 19:52:47 +00:00

38 lines
948 B
JavaScript

/**
* Regression test confirming unique index constraints are upheld. See SERVER-58943 for details.
*
* @tags: [
* cannot_create_unique_index_when_using_hashed_shard_key,
* does_not_support_transactions
* ]
*/
(function() {
"use strict";
const dbName = "unique_index_insert";
const collName = "test";
const testDB = db.getSiblingDB("unique_index_insert");
testDB[collName].drop();
const coll = testDB[collName];
assert.commandWorked(coll.createIndex({i: 1, x: -1}, {unique: true}));
const n = 100;
const xStr = "x".repeat(50000);
const bulk = coll.initializeUnorderedBulkOp();
for (let i = 0; i < n; i++) {
bulk.insert({i, x: xStr});
}
assert.commandWorked(bulk.execute());
assert.eq(coll.find().itcount(), 100);
const maxIters = 2;
for (let iter = 0; iter < maxIters; iter++) {
for (let i = 0; i < n; i++) {
assert.commandFailed(coll.insert({i, x: xStr}), `Failed with i ${i}, iter ${iter}`);
}
}
}());