Skip to content

Commit 15faeba

Browse files
authored
fix(shell-api): mongosh should throw an error when trying to drop a non-primary index MONGOSH-1608 (#2221)
1 parent d83f369 commit 15faeba

File tree

2 files changed

+11
-19
lines changed

2 files changed

+11
-19
lines changed

packages/shell-api/src/collection.spec.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1165,26 +1165,27 @@ describe('Collection', function () {
11651165
context(
11661166
'when serviceProvider.dropIndexes rejects IndexNotFound',
11671167
function () {
1168+
let expectedError: Error;
11681169
beforeEach(function () {
1169-
const error = new Error('index not found with name [index_1]');
1170-
Object.assign(error, {
1170+
expectedError = new Error('index not found with name [index_1]');
1171+
Object.assign(expectedError, {
11711172
ok: 0,
11721173
errmsg: 'index not found with name [index_1]',
11731174
code: 27,
11741175
codeName: 'IndexNotFound',
1175-
name: 'MongoError',
1176+
name: 'MongoServerError',
11761177
});
11771178

1178-
serviceProvider.runCommandWithCheck.rejects(error);
1179+
serviceProvider.runCommandWithCheck.rejects(expectedError);
11791180
});
11801181

11811182
it('returns the error as object', async function () {
1182-
expect(await collection.dropIndexes('index_1')).to.deep.equal({
1183-
ok: 0,
1184-
errmsg: 'index not found with name [index_1]',
1185-
code: 27,
1186-
codeName: 'IndexNotFound',
1187-
});
1183+
let caughtError: Error | undefined;
1184+
await collection
1185+
.dropIndexes('index_1')
1186+
.catch((err) => (caughtError = err));
1187+
1188+
expect(caughtError).to.deep.equal(expectedError);
11881189
});
11891190
}
11901191
);

packages/shell-api/src/collection.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1335,15 +1335,6 @@ export default class Collection extends ShellApiWithMongoClass {
13351335
return all.sort((a, b) => b.nIndexesWas - a.nIndexesWas)[0];
13361336
}
13371337

1338-
if (error?.codeName === 'IndexNotFound') {
1339-
return {
1340-
ok: error.ok,
1341-
errmsg: error.errmsg,
1342-
code: error.code,
1343-
codeName: error.codeName,
1344-
};
1345-
}
1346-
13471338
throw error;
13481339
}
13491340
}

0 commit comments

Comments
 (0)