Skip to content

Commit 94f6b1f

Browse files
committed
Convert createBucket stub tests to async await
Use a createBucketPromised helper and assert.rejects for error cases. Issue: ARSN-613
1 parent 320c7b4 commit 94f6b1f

1 file changed

Lines changed: 45 additions & 44 deletions

File tree

tests/unit/storage/metadata/mongoclient/MongoClientInterface.spec.js

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -398,74 +398,75 @@ describe('MongoClientInterface::createBucket', () => {
398398
client.client = {};
399399
}
400400

401-
it('should return BucketAlreadyExists when metastore entry already exists', done => {
401+
function createBucketPromised(bucketName, bucketMD = baseBucket) {
402+
return new Promise((resolve, reject) => {
403+
client.createBucket(bucketName, bucketMD, logger, err => {
404+
if (err) {
405+
return reject(err);
406+
}
407+
return resolve();
408+
});
409+
});
410+
}
411+
412+
it('should return BucketAlreadyExists when metastore entry already exists', async () => {
402413
setupMockClient(false, {
403414
matchedCount: 1,
404415
modifiedCount: 1,
405416
upsertedCount: 0,
406417
});
407-
client.createBucket('test-bucket', baseBucket, logger, err => {
408-
assert(err);
409-
assert(err.is.BucketAlreadyExists);
410-
assert.strictEqual(createCollectionStub.called, false);
411-
done();
412-
});
418+
await assert.rejects(
419+
() => createBucketPromised('test-bucket'),
420+
err => err?.is?.BucketAlreadyExists,
421+
);
422+
assert.strictEqual(createCollectionStub.called, false);
413423
});
414424

415-
it('should return BucketAlreadyExists when the collection already exists (NamespaceExists)', done => {
425+
it('should return BucketAlreadyExists when the collection already exists (NamespaceExists)', async () => {
416426
setupMockClient(false);
417427
createCollectionStub.rejects(makeMongoError('NamespaceExists', 48));
418-
client.createBucket('test-bucket', baseBucket, logger, err => {
419-
assert(err);
420-
assert(err.is.BucketAlreadyExists);
421-
assert(createCollectionStub.calledOnceWith('test-bucket'));
422-
assert.strictEqual(commandStub.called, false);
423-
done();
424-
});
428+
await assert.rejects(
429+
() => createBucketPromised('test-bucket'),
430+
err => err?.is?.BucketAlreadyExists,
431+
);
432+
assert(createCollectionStub.calledOnceWith('test-bucket'));
433+
assert.strictEqual(commandStub.called, false);
425434
});
426435

427-
it('should return InternalError on other createCollection errors', done => {
436+
it('should return InternalError on other createCollection errors', async () => {
428437
setupMockClient(false);
429438
createCollectionStub.rejects(makeMongoError('HostUnreachable', 6));
430-
client.createBucket('test-bucket', baseBucket, logger, err => {
431-
assert(err);
432-
assert(err.is.InternalError);
433-
done();
434-
});
439+
await assert.rejects(
440+
() => createBucketPromised('test-bucket'),
441+
err => err?.is?.InternalError,
442+
);
435443
});
436444

437-
it('should shard the collection after a successful createCollection', done => {
445+
it('should shard the collection after a successful createCollection', async () => {
438446
setupMockClient(true);
439-
client.createBucket('test-bucket', baseBucket, logger, err => {
440-
assert.ifError(err);
441-
assert(createCollectionStub.calledOnceWith('test-bucket'));
442-
assert(
443-
commandStub.calledOnceWith({
444-
shardCollection: 'test.test-bucket',
445-
key: { _id: 1 },
446-
}),
447-
);
448-
done();
449-
});
447+
await createBucketPromised('test-bucket');
448+
assert(createCollectionStub.calledOnceWith('test-bucket'));
449+
assert(
450+
commandStub.calledOnceWith({
451+
shardCollection: 'test.test-bucket',
452+
key: { _id: 1 },
453+
}),
454+
);
450455
});
451456

452-
it('should succeed when the collection is already sharded (AlreadyInitialized)', done => {
457+
it('should succeed when the collection is already sharded (AlreadyInitialized)', async () => {
453458
setupMockClient(true);
454459
commandStub.rejects(makeMongoError('AlreadyInitialized', 23));
455-
client.createBucket('test-bucket', baseBucket, logger, err => {
456-
assert.ifError(err);
457-
done();
458-
});
460+
await createBucketPromised('test-bucket');
459461
});
460462

461-
it('should return InternalError on other shardCollection errors', done => {
463+
it('should return InternalError on other shardCollection errors', async () => {
462464
setupMockClient(true);
463465
commandStub.rejects(makeMongoError('HostUnreachable', 6));
464-
client.createBucket('test-bucket', baseBucket, logger, err => {
465-
assert(err);
466-
assert(err.is.InternalError);
467-
done();
468-
});
466+
await assert.rejects(
467+
() => createBucketPromised('test-bucket'),
468+
err => err?.is?.InternalError,
469+
);
469470
});
470471
});
471472

0 commit comments

Comments
 (0)