import assert from 'node:assert/strict' import test from 'node:test' import { cleanupFailedConnection } from './client.js' test('cleanupFailedConnection awaits transport close before resolving', async () => { let closed = false let resolveClose: (() => void) | undefined const transport = { close: async () => await new Promise(resolve => { resolveClose = () => { closed = true resolve() } }), } const cleanupPromise = cleanupFailedConnection(transport) assert.equal(closed, false) resolveClose?.() await cleanupPromise assert.equal(closed, true) }) test('cleanupFailedConnection closes in-process server and transport', async () => { let inProcessClosed = false let transportClosed = false const inProcessServer = { close: async () => { inProcessClosed = true }, } const transport = { close: async () => { transportClosed = true }, } await cleanupFailedConnection(transport, inProcessServer) assert.equal(inProcessClosed, true) assert.equal(transportClosed, true) })