From d5c986a20e86c54fc153839e6d2dd57b16047d95 Mon Sep 17 00:00:00 2001 From: veerendra thakur Date: Wed, 27 Sep 2023 15:24:47 +0530 Subject: [PATCH] Added cypress test case for cypress-health API Signed-off-by: veerendra thakur --- tests/functional/cypress/e2e/health.cy.ts | 32 +++++++++ .../cypress/fixtures/health/healthCheck.json | 65 +++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 tests/functional/cypress/e2e/health.cy.ts create mode 100644 tests/functional/cypress/fixtures/health/healthCheck.json diff --git a/tests/functional/cypress/e2e/health.cy.ts b/tests/functional/cypress/e2e/health.cy.ts new file mode 100644 index 000000000..fcf7bd4ce --- /dev/null +++ b/tests/functional/cypress/e2e/health.cy.ts @@ -0,0 +1,32 @@ +import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' + +describe("To Validate & get health status via API call", function () { + + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/health/operation/healthCheck + const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4`; + + let bearerToken: string = null; + before(() => { + if(bearerToken==null){ + getTokenKey(bearerToken); + cy.window().then((win) => { + bearerToken = win.localStorage.getItem('bearerToken'); + }); + } + }); + +it("Returns the Health of the application- Record should Returns 200 Response", function () { + cy.request({ + method: 'GET', + url: `${claEndpoint}/ops/health`, + auth: { + 'bearer': bearerToken, + } + }).then((response) => { + validate_200_Status(response); + //To validate schema of response + validateApiResponse("health/healthCheck.json",response) + }); + }); + +}) \ No newline at end of file diff --git a/tests/functional/cypress/fixtures/health/healthCheck.json b/tests/functional/cypress/fixtures/health/healthCheck.json new file mode 100644 index 000000000..a2162ba8b --- /dev/null +++ b/tests/functional/cypress/fixtures/health/healthCheck.json @@ -0,0 +1,65 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "Branch": { + "type": "string" + }, + "BuildTimeStamp": { + "type": "string" + }, + "Githash": { + "type": "string" + }, + "Healths": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "Duration": { + "type": "string" + }, + "Error": { + "type": "string" + }, + "Healthy": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "TimeStamp": { + "type": "string" + } + }, + "required": [ + "Duration", + + "Healthy", + "Name", + "TimeStamp" + ] + } + ] + }, + "Status": { + "type": "string" + }, + "TimeStamp": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Branch", + "BuildTimeStamp", + "Githash", + "Healths", + "Status", + "TimeStamp", + "Version" + ] + } \ No newline at end of file