From 8bd43a5d817007999acc94e906bd0132e842b310 Mon Sep 17 00:00:00 2001 From: Brian Carlson Date: Mon, 22 Aug 2022 18:54:37 -0500 Subject: [PATCH] Fix error handling test #2569 introduced a bug in the test. The test never passed but because travis-ci lovingly broke the integration we had a long time ago the tests weren't run in CI until I merged. So, this fixes the tests & does a better job cleaning up the query in an errored state. --- packages/pg-pool/index.js | 4 ++-- packages/pg-pool/test/error-handling.js | 17 +++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/pg-pool/index.js b/packages/pg-pool/index.js index 20dbe734..00f55b4d 100644 --- a/packages/pg-pool/index.js +++ b/packages/pg-pool/index.js @@ -417,11 +417,11 @@ class Pool extends EventEmitter { client.release(err) if (err) { return cb(err) - } else { - return cb(undefined, res) } + return cb(undefined, res) }) } catch (err) { + client.release(err) return cb(err) } }) diff --git a/packages/pg-pool/test/error-handling.js b/packages/pg-pool/test/error-handling.js index f514bd79..7b157085 100644 --- a/packages/pg-pool/test/error-handling.js +++ b/packages/pg-pool/test/error-handling.js @@ -38,14 +38,15 @@ describe('pool error handling', function () { }) it('Catches errors in client.query', async function () { - await expect((new Pool()).query(null)).to.throwError() - await expect(async () => { - try { - await (new Pool()).query(null) - } catch (e) { - console.log(e) - } - }).not.to.throwError() + let caught = false + const pool = new Pool() + try { + await pool.query(null) + } catch (e) { + caught = true + } + pool.end() + expect(caught).to.be(true) }) describe('calling release more than once', () => {