diff --git a/packages/backend-test-utils/src/cache/helpers.ts b/packages/backend-test-utils/src/cache/helpers.ts index 3f13bc8d0e..7a18240fc8 100644 --- a/packages/backend-test-utils/src/cache/helpers.ts +++ b/packages/backend-test-utils/src/cache/helpers.ts @@ -31,10 +31,22 @@ export async function attemptKeyvConnection( await waitForReady(async () => { const store = createStore(connection); - keyv = new Keyv({ store }); - const value = uuid(); - await keyv.set('test', value); - return (await keyv.get('test')) === value; + const attemptKeyv = new Keyv({ store }); + let succeeded = false; + + try { + const value = uuid(); + await attemptKeyv.set('test', value); + succeeded = (await attemptKeyv.get('test')) === value; + if (succeeded) { + keyv = attemptKeyv; + } + return succeeded; + } finally { + if (!succeeded) { + await attemptKeyv.disconnect(); + } + } }, label); return keyv!; diff --git a/packages/backend-test-utils/src/util/waitForReady.ts b/packages/backend-test-utils/src/util/waitForReady.ts index 1aeaa109c5..b5c22e41cc 100644 --- a/packages/backend-test-utils/src/util/waitForReady.ts +++ b/packages/backend-test-utils/src/util/waitForReady.ts @@ -31,7 +31,7 @@ export async function waitForReady( ): Promise { const startTime = Date.now(); - let lastError: Error | undefined; + let lastError: unknown; let attempts = 0; for (;;) { attempts += 1;