diff --git a/src/index.ts b/src/index.ts index 03b37c7..b83229d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -208,8 +208,7 @@ export const getTestPostgresDatabaseFactory = < getTestDatabaseOptions?: GetTestPostgresDatabaseOptions ) => { const testDatabaseConnection = await rpc.getTestDatabase({ - // todo: rename? - key: getTestDatabaseOptions?.databaseDedupeKey, + databaseDedupeKey: getTestDatabaseOptions?.databaseDedupeKey, params, }) diff --git a/src/internal-types.ts b/src/internal-types.ts index 028ccad..2700f0e 100644 --- a/src/internal-types.ts +++ b/src/internal-types.ts @@ -23,7 +23,7 @@ export interface TestWorkerFunctions { export interface SharedWorkerFunctions { getTestDatabase: (options: { - key?: string + databaseDedupeKey?: string params?: Jsonifiable }) => Promise<{ connectionDetails: ConnectionDetailsFromWorker diff --git a/src/worker.ts b/src/worker.ts index ad6b07f..d94783d 100644 --- a/src/worker.ts +++ b/src/worker.ts @@ -105,9 +105,9 @@ export class Worker { const { postgresClient } = await this.startContainerPromise // Only relevant when a `key` is provided - const fullDatabaseKey = `${paramsHash}-${options.key}` + const fullDatabaseKey = `${paramsHash}-${options.databaseDedupeKey}` - let databaseName = options.key + let databaseName = options.databaseDedupeKey ? this.keyToDatabaseName.get(fullDatabaseKey) : undefined if (!databaseName) { @@ -118,7 +118,7 @@ export class Worker { ) } - if (options.key) { + if (options.databaseDedupeKey) { await this.getOrCreateKeyToCreationMutex.runExclusive(() => { if (!this.keyToCreationMutex.has(fullDatabaseKey)) { this.keyToCreationMutex.set(fullDatabaseKey, new Mutex()) @@ -142,7 +142,10 @@ export class Worker { registerTeardown(async () => { // Don't remove keyed databases - if (options.key && this.keyToDatabaseName.has(fullDatabaseKey)) { + if ( + options.databaseDedupeKey && + this.keyToDatabaseName.has(fullDatabaseKey) + ) { return }