From d630af88f99cf1d4cb9ffa4f83a21ec77a6d4265 Mon Sep 17 00:00:00 2001 From: matt Date: Sun, 23 Jan 2022 23:14:55 +0000 Subject: [PATCH] Added method to expose the mysql2 database connection --- lib/DatabaseConnectionPool.js | 8 ++++++++ lib/__mocks__/DatabaseConnectionPool.js | 3 ++- lib/__tests__/DatabaseConnectionPool.test.js | 6 ++++++ writeup/diagrams/DatabaseConnectionPool.puml | 1 + 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/DatabaseConnectionPool.js b/lib/DatabaseConnectionPool.js index e48c048..576aaa9 100644 --- a/lib/DatabaseConnectionPool.js +++ b/lib/DatabaseConnectionPool.js @@ -91,6 +91,14 @@ class DatabaseConnectionPool { return data; } + /** + * Expose the database connection pool + * @type {Object} + */ + get pool() { + return this.#connectionPool; + } + /** * Close the connection to the database */ diff --git a/lib/__mocks__/DatabaseConnectionPool.js b/lib/__mocks__/DatabaseConnectionPool.js index fdb20e1..3417f12 100644 --- a/lib/__mocks__/DatabaseConnectionPool.js +++ b/lib/__mocks__/DatabaseConnectionPool.js @@ -55,7 +55,8 @@ jest.mock('./DatabaseConnectionPool', () => { return jest.fn().mockImplementation(() => { return { runQuery: mockRunQuery, - close: mockClose + close: mockClose, + pool: true }; }); }); diff --git a/lib/__tests__/DatabaseConnectionPool.test.js b/lib/__tests__/DatabaseConnectionPool.test.js index e26f343..78bf8a6 100644 --- a/lib/__tests__/DatabaseConnectionPool.test.js +++ b/lib/__tests__/DatabaseConnectionPool.test.js @@ -89,4 +89,10 @@ describe('DatabaseConnectionPool', () => { expect(() => dbp.runQuery(sql, params)).toThrow(); }); + + test('Getter for pool exists', () => { + const dbp = new DatabaseConnectionPool(); + + expect(dbp.pool).toBeTrue(); + }); }); diff --git a/writeup/diagrams/DatabaseConnectionPool.puml b/writeup/diagrams/DatabaseConnectionPool.puml index 6da250c..7d25126 100644 --- a/writeup/diagrams/DatabaseConnectionPool.puml +++ b/writeup/diagrams/DatabaseConnectionPool.puml @@ -6,6 +6,7 @@ class DatabaseConnectionPool { -connectionPool: Object runQuery(sql, params): Object[] | Object close(): void + getPool(): Object {static} validateQuery(sql, params): string }