From 517842c6b9e8fbaef517fce16fd433ed12f1df70 Mon Sep 17 00:00:00 2001 From: Olojakpoke Daniel Date: Sun, 10 Jul 2022 19:58:16 +0100 Subject: [PATCH 1/6] chore: add db pool connection test --- api-tests/db-max-connection-test.js | 12 ++++++++++++ package.json | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 api-tests/db-max-connection-test.js diff --git a/api-tests/db-max-connection-test.js b/api-tests/db-max-connection-test.js new file mode 100644 index 0000000..70e71d2 --- /dev/null +++ b/api-tests/db-max-connection-test.js @@ -0,0 +1,12 @@ +require('dotenv').config({ path: `.env.${process.env.NODE_ENV}` }); +const log = require('loglevel'); +require('../server/setup'); +const request = require('supertest'); // eslint-disable-line +const server = require('../server/app'); + +(async () => { + for (let i = 0; i < 1000; i += 1) { + await request(server).get(`/stakeholders`); + log.info(`request ${i + 1}`); + } +})(); diff --git a/package.json b/package.json index f07b0dd..e5c906e 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "seed": "knex seed:run", "proxy": "http://localhost:3001/", "prepare": "husky install", - "seed-dev": "NODE_ENV=development knex seed:run" + "seed-dev": "NODE_ENV=development knex seed:run", + "db-pool-test": "NODE_ENV=development node ./api-tests/db-max-connection-test.js" }, "keywords": [ "ecology" From f7abc7cddeb14a5f4efd8d63b1dc66d33b3c4cd1 Mon Sep 17 00:00:00 2001 From: Olojakpoke Daniel Date: Sun, 10 Jul 2022 21:47:35 +0100 Subject: [PATCH 2/6] fix: update max connection --- server/database/knex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/database/knex.js b/server/database/knex.js index 2149e09..e509c2c 100644 --- a/server/database/knex.js +++ b/server/database/knex.js @@ -12,7 +12,7 @@ const knexConfig = { client: 'pg', debug: process.env.NODE_LOG_LEVEL === 'debug', connection, - pool: { min: 0, max: 20 }, + pool: { min: 0, max: 10 }, }; log.debug(process.env.DATABASE_SCHEMA); From c1e29a6fe2369efb43f003fd1184b00f49ec18e8 Mon Sep 17 00:00:00 2001 From: Olojakpoke Daniel Date: Sun, 10 Jul 2022 21:53:32 +0100 Subject: [PATCH 3/6] chore: minor update --- server/setup.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/server/setup.js b/server/setup.js index 76f67b5..3216bb8 100644 --- a/server/setup.js +++ b/server/setup.js @@ -1,11 +1,10 @@ /* * A file to setup some global setting, like log level */ -const log = require("loglevel"); +const log = require('loglevel'); -if(process.env.NODE_LOG_LEVEL){ +if (process.env.NODE_LOG_LEVEL) { log.setDefaultLevel(process.env.NODE_LOG_LEVEL); -}else{ - log.setDefaultLevel("info"); +} else { + log.setDefaultLevel('info'); } - From 27d2023ae2dc25df9f2c6c76524d7401c0d1f398 Mon Sep 17 00:00:00 2001 From: Olojakpoke Daniel Date: Sun, 10 Jul 2022 21:55:23 +0100 Subject: [PATCH 4/6] chore: minor update --- server/setup.js | 1 + 1 file changed, 1 insertion(+) diff --git a/server/setup.js b/server/setup.js index 3216bb8..a432946 100644 --- a/server/setup.js +++ b/server/setup.js @@ -1,6 +1,7 @@ /* * A file to setup some global setting, like log level */ + const log = require('loglevel'); if (process.env.NODE_LOG_LEVEL) { From 35a475b5ed0d451876babe8ae90bce5db96afcb2 Mon Sep 17 00:00:00 2001 From: Olojakpoke Daniel Date: Sun, 10 Jul 2022 22:08:54 +0100 Subject: [PATCH 5/6] chore: minor update --- server/app.spec.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/server/app.spec.js b/server/app.spec.js index e06248a..b6b67a1 100644 --- a/server/app.spec.js +++ b/server/app.spec.js @@ -1,20 +1,18 @@ const request = require('supertest'); const { expect } = require('chai'); -const server = require("./app"); +const server = require('./app'); - -describe("", () => { - - it("Test header: content-type: application/json", async () => { - const res = await request(server) - .get('/'); +describe('', () => { + it('Test header: content-type: application/json', async () => { + const res = await request(server).get('/'); expect(res.statusCode).eq(200); }); - it("Test header: content-type: application/json", async () => { - const res = await request(server) - .post('/'); + it('Test header: content-type: application/json', async () => { + const res = await request(server).post('/'); expect(res.statusCode).eq(415); - expect(res.body).property("message").match(/application.json/); + expect(res.body) + .property('message') + .match(/application.json/); }); }); From c89625e19353ff42c72f9719ff70ab8f10c9cc77 Mon Sep 17 00:00:00 2001 From: Olojakpoke Daniel Date: Sun, 10 Jul 2022 22:11:48 +0100 Subject: [PATCH 6/6] chore: minor update --- server/app.spec.js | 1 + 1 file changed, 1 insertion(+) diff --git a/server/app.spec.js b/server/app.spec.js index b6b67a1..a628fe4 100644 --- a/server/app.spec.js +++ b/server/app.spec.js @@ -10,6 +10,7 @@ describe('', () => { it('Test header: content-type: application/json', async () => { const res = await request(server).post('/'); + expect(res.statusCode).eq(415); expect(res.body) .property('message')