From fdfe396fbbb90f2f68c9932098b5583d075880f5 Mon Sep 17 00:00:00 2001 From: petruki <31597636+petruki@users.noreply.github.com> Date: Thu, 25 May 2023 20:55:21 -0700 Subject: [PATCH 1/2] Added check parameter for API details --- package.json | 6 +++--- src/app.js | 18 ++++++++++++------ tests/admin.test.js | 2 +- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 06a9ee2..9a6f099 100644 --- a/package.json +++ b/package.json @@ -41,11 +41,11 @@ "jsonwebtoken": "^9.0.0", "moment": "^2.29.4", "mongodb": "^5.5.0", - "mongoose": "^7.1.1", + "mongoose": "^7.2.1", "pino": "^8.14.1", "pino-pretty": "^10.0.0", "swagger-ui-express": "^4.6.3", - "switcher-client": "^3.1.6", + "switcher-client": "^3.1.7", "validator": "^13.9.0" }, "devDependencies": { @@ -62,7 +62,7 @@ "jest-sonar-reporter": "^2.0.0", "node-notifier": "^10.0.1", "nodemon": "^2.0.22", - "sinon": "^15.0.4", + "sinon": "^15.1.0", "supertest": "^6.3.3" }, "repository": { diff --git a/src/app.js b/src/app.js index 72a7667..ce1d1f7 100644 --- a/src/app.js +++ b/src/app.js @@ -77,10 +77,14 @@ app.get('/swagger.json', resourcesAuth(), (_req, res) => { res.status(200).send(swaggerDocument); }); -app.get('/check', defaultLimiter, (_req, res) => { - res.status(200).send({ - status: 'UP', - attributes: { +app.get('/check', defaultLimiter, (req, res) => { + const showDetails = req.query.details === '1'; + const response = { + status: 'UP' + }; + + if (showDetails) { + response.attributes = { version: swaggerDocument.info.version, release_time: process.env.RELEASE_TIME, env: process.env.ENV, @@ -96,8 +100,10 @@ app.get('/check', defaultLimiter, (_req, res) => { max_rpm: process.env.MAX_REQUEST_PER_MINUTE, regex_max_timeout: process.env.REGEX_MAX_TIMEOUT, regex_max_blacklist: process.env.REGEX_MAX_BLACLIST - } - }); + }; + } + + res.status(200).send(response); }); app.get('*', (_req, res) => { diff --git a/tests/admin.test.js b/tests/admin.test.js index 99c4594..ec29bcb 100644 --- a/tests/admin.test.js +++ b/tests/admin.test.js @@ -470,7 +470,7 @@ describe('Testing Admin insertion', () => { test('ADMIN_SUITE - Should get API UP', async () => { const response = await request(app) - .get('/check') + .get('/check?details=1') .send().expect(200); expect(response.body.status).toEqual('UP'); From 1a3ab0680d8e72c2153f75f80ce2f972d5cbe635 Mon Sep 17 00:00:00 2001 From: petruki <31597636+petruki@users.noreply.github.com> Date: Thu, 25 May 2023 21:04:34 -0700 Subject: [PATCH 2/2] Added check no details test --- tests/admin.test.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/admin.test.js b/tests/admin.test.js index ec29bcb..db85ce7 100644 --- a/tests/admin.test.js +++ b/tests/admin.test.js @@ -468,7 +468,7 @@ describe('Testing Admin insertion', () => { expect(response.body.error).toEqual('Operation not found'); }); - test('ADMIN_SUITE - Should get API UP', async () => { + test('ADMIN_SUITE - Should get API UP with details', async () => { const response = await request(app) .get('/check?details=1') .send().expect(200); @@ -477,6 +477,15 @@ describe('Testing Admin insertion', () => { expect(response.body.attributes.version).toEqual(swaggerDocument.info.version); }); + test('ADMIN_SUITE - Should get API UP with NO details', async () => { + const response = await request(app) + .get('/check') + .send().expect(200); + + expect(response.body.status).toEqual('UP'); + expect(response.body.attributes).toBe(undefined); + }); + test('ADMIN_SUITE - Should return OpenAPI Swagger API document', async () => { const response = await request(app) .get('/swagger.json')