@@ -13,6 +13,7 @@ export type MongoMemoryServerOptsT = {
13
13
instance : {
14
14
port ?: ?number ,
15
15
dbPath ?: string ,
16
+ dbName ?: string ,
16
17
storageEngine ?: string ,
17
18
debug ?: boolean | Function ,
18
19
} ,
@@ -32,6 +33,7 @@ export type MongoMemoryServerOptsT = {
32
33
export type MongoInstanceDataT = {
33
34
port : number ,
34
35
dbPath : string ,
36
+ dbName : string ,
35
37
uri : string ,
36
38
storageEngine : string ,
37
39
childProcess : ChildProcess ,
@@ -41,9 +43,12 @@ export type MongoInstanceDataT = {
41
43
} ,
42
44
} ;
43
45
44
- async function generateConnectionString ( port : number , dbName : ?string ) : Promise < string > {
45
- const db = dbName || ( await uuid ( ) ) ;
46
- return `mongodb://localhost:${ port } /${ db } ` ;
46
+ async function generateDbName ( dbName ?: string ) : Promise < string > {
47
+ return dbName || uuid ( ) ;
48
+ }
49
+
50
+ async function generateConnectionString ( port : number , dbName : string ) : Promise < string > {
51
+ return `mongodb://localhost:${ port } /${ dbName } ` ;
47
52
}
48
53
49
54
export default class MongoMemoryServer {
@@ -106,7 +111,8 @@ export default class MongoMemoryServer {
106
111
data . port = await getport ( instOpts . port ) ;
107
112
this . debug = Debug ( `Mongo[${ data . port } ]` ) ;
108
113
this . debug . enabled = ! ! this . opts . debug ;
109
- data . uri = await generateConnectionString ( data . port ) ;
114
+ data . dbName = await generateDbName ( instOpts . dbName ) ;
115
+ data . uri = await generateConnectionString ( data . port , data . dbName ) ;
110
116
data . storageEngine = instOpts . storageEngine || 'ephemeralForTest' ;
111
117
if ( instOpts . dbPath ) {
112
118
data . dbPath = instOpts . dbPath ;
@@ -172,7 +178,7 @@ export default class MongoMemoryServer {
172
178
return generateConnectionString ( port , otherDbName ) ;
173
179
}
174
180
// generate new random db name
175
- return generateConnectionString ( port ) ;
181
+ return generateConnectionString ( port , await generateDbName ( ) ) ;
176
182
}
177
183
178
184
return uri ;
0 commit comments