diff --git a/src/index.js b/src/index.js index 5edb31abc..52f6e889c 100644 --- a/src/index.js +++ b/src/index.js @@ -33,6 +33,7 @@ async function generateConnectionString(port: number, dbName: ?string): Promise< } export default class MongoDBMemoryServer { + static mongodHelperStartup: ?Promise; isRunning: boolean = false; runningInstance: ?Promise; opts: MongoMemoryServerOptsT; @@ -111,9 +112,15 @@ export default class MongoDBMemoryServer { mongodCli.debug.enabled = this.opts.debug; + if (this.constructor.mongodHelperStartup) { + await this.constructor.mongodHelperStartup; + } + // Download if not exists mongo binaries in ~/.mongodb-prebuilt // After that startup MongoDB instance - await mongodCli.run(); + const startupPromise = mongodCli.run(); + this.constructor.mongodHelperStartup = startupPromise; + await startupPromise; data.mongodCli = mongodCli; data.tmpDir = tmpDir;