import * as mongodb from 'mongodb'; import type * as tsclass from '@tsclass/tsclass'; let mongoClient: mongodb.MongoClient | undefined; export const stop = async () => { await mongoClient?.close(); mongoClient = undefined; }; export const generateTestData = async (mongoDescriptorArg: tsclass.database.IMongoDescriptor) => { const finalConnectionUrl = mongoDescriptorArg.mongoDbUrl .replace('', mongoDescriptorArg.mongoDbUser ?? '') .replace('', mongoDescriptorArg.mongoDbUser ?? '') .replace('', mongoDescriptorArg.mongoDbUser ?? '') .replace('', mongoDescriptorArg.mongoDbUser ?? '') .replace('', mongoDescriptorArg.mongoDbPass ?? '') .replace('', mongoDescriptorArg.mongoDbPass ?? '') .replace('', mongoDescriptorArg.mongoDbName ?? '') .replace('', mongoDescriptorArg.mongoDbName ?? ''); mongoClient = await mongodb.MongoClient.connect(finalConnectionUrl); const db = mongoClient.db(mongoDescriptorArg.mongoDbName); const houseCollection = db.collection('House'); const truckCollection = db.collection('Truck'); const houseDocs: mongodb.OptionalUnlessRequiredId[] = []; const truckDocs: mongodb.OptionalUnlessRequiredId[] = []; for (let counter = 0; counter < 100; counter++) { houseDocs.push({ id: `hello-${counter}`, data: { some: { complex: 'structure', more: 4, }, }, }); truckDocs.push({ id: `hello-${counter}`, data: { some: { complex: 'structure', more: 2, }, }, }); } await houseCollection.insertMany(houseDocs); await truckCollection.insertMany(truckDocs); };