fix: injectable tunnel log label, honest truncate budget comment

This commit is contained in:
admin committed 2026-06-16 20:38:10 +05:00
1 parent 6a2706130a
commit 703df24b13
4 files changed
+42 -6

No files matched your search

@@ -248,11 +248,34 @@ describe('openTunnel', () => {
created.push(server)
return server
})
const errSpy = vi.spyOn(console, 'error').mockImplementation(() => {})
const tunnel = await openTunnel(sshConfig({ password: 'pw' }), 'db-host', 5432)
// A listener error after listen() resolved must not be swallowed: it
// marks the tunnel closed so the manager can rebuild it.
created[0].emit('error', new Error('EADDRNOTAVAIL'))
expect(tunnel.isClosed()).toBe(true)
// Default log label brands the diagnostic with 'ssh-tunnel:'.
expect(errSpy).toHaveBeenCalledWith('ssh-tunnel: tunnel listener error: EADDRNOTAVAIL')
errSpy.mockRestore()
spy.mockRestore()
await tunnel.close()
})
it('uses a custom logLabel prefix on diagnostics', async () => {
const created: net.Server[] = []
const realCreateServer = net.createServer.bind(net)
const spy = vi.spyOn(net, 'createServer').mockImplementation((handler) => {
const server = realCreateServer(handler as (socket: net.Socket) => void)
created.push(server)
return server
})
const errSpy = vi.spyOn(console, 'error').mockImplementation(() => {})
const tunnel = await openTunnel(sshConfig({ password: 'pw' }), 'db-host', 5432, 'dbmole')
created[0].emit('error', new Error('EADDRNOTAVAIL'))
expect(tunnel.isClosed()).toBe(true)
// The injected label replaces the default prefix token.
expect(errSpy).toHaveBeenCalledWith('dbmole: tunnel listener error: EADDRNOTAVAIL')
errSpy.mockRestore()
spy.mockRestore()
await tunnel.close()
})