From 3e76c310c69e3dd7d69d7b1bc4dc9cac4606e940 Mon Sep 17 00:00:00 2001 From: Adam Nielsen Date: Fri, 2 Sep 2022 18:45:03 +1000 Subject: [PATCH] Test case for #2642 - pg-cursor .close() never returns after connection lost --- packages/pg-cursor/test/error-handling.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/pg-cursor/test/error-handling.js b/packages/pg-cursor/test/error-handling.js index f6edef6d5..7c6a812d4 100644 --- a/packages/pg-cursor/test/error-handling.js +++ b/packages/pg-cursor/test/error-handling.js @@ -19,6 +19,24 @@ describe('error handling', function () { }) }) }) + + it('can continue after connection lost', function (done) { + const client = new pg.Client() + client.connect() + const cursor = client.query(new Cursor('SELECT NOW()')) + cursor.read(1, function (err) { + // Simulate a connection dropout by disconnecting. + client.end(function (err) { + assert.ifError(err) + // Try to close the cursor as if we didn't know the connection had + // dropped out. + cursor.close(function (err) { + assert.ifError(err) + done() + }) + }) + }) + }) }) describe('read callback does not fire sync', () => {