Files
mongodump/test/test.ts

40 lines
1.4 KiB
TypeScript
Raw Normal View History

import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as smartmongo from '@push.rocks/smartmongo';
2022-06-05 21:04:16 +02:00
import * as mongodump from '../ts/index.js';
import * as sampledata from './sampledata.js';
let testSmartMongo: smartmongo.SmartMongo;
let testMongodump: mongodump.MongoDump;
tap.test('should create a test database', async () => {
testSmartMongo = await smartmongo.SmartMongo.createAndStart();
});
tap.test('should create a mongodump instance', async () => {
testMongodump = new mongodump.MongoDump();
expect(testMongodump).toBeInstanceOf(mongodump.MongoDump);
});
tap.test('should deploy sample data', async () => {
await sampledata.generateTestData(await testSmartMongo.getMongoDescriptor())
})
tap.test('should add a mongotarget to mongodump instance', async () => {
const target = await testMongodump.addMongoTargetByMongoDescriptor(await testSmartMongo.getMongoDescriptor());
await target.getCollections();
2022-06-06 13:04:30 +02:00
});
tap.test('should dump a collection to a directory', async () => {
const target = await testMongodump.addMongoTargetByMongoDescriptor(await testSmartMongo.getMongoDescriptor());
2022-06-06 16:01:25 +02:00
await target.dumpAllCollectionsToDir('.nogit', docArg => docArg.id, true);
2022-06-05 21:04:16 +02:00
})
tap.test('should stop the smartmongo instance', async () => {
await sampledata.stop();
await testMongodump.stop();
await testSmartMongo.stop();
});
export default tap.start();