From 90d568b52b790e79d78816a92b330308311ef25e Mon Sep 17 00:00:00 2001 From: veerendra thakur Date: Thu, 7 Sep 2023 15:35:51 +0530 Subject: [PATCH] Added a separate appConfiguration folder for storing app config data Signed-off-by: veerendra thakur --- tests/functional/cypress.env.json | 3 +- .../cypress/appConfig/config.dev.ts | 37 +++++++++++++++++++ .../cypress/appConfig/config.production.ts | 8 ++++ .../{cla-group.spec.ts => cla-group.cy.ts} | 37 +++++++++++++------ ...{cla-manager.spec.ts => cla-manager.cy.ts} | 32 ++++++++++------ .../e2e/{company.spec.ts => company.cy.ts} | 34 +++++++++++------ .../e2e/{events.spec.ts => events.cy.ts} | 22 ++++++++--- .../{foundation.spec.ts => foundation.cy.ts} | 17 ++++++++- ...ons.spec.ts => github-organizations.cy.ts} | 22 +++++++---- ...ries.spec.ts => github-repositories.cy.ts} | 19 ++++++++-- ...bActivity.spec.ts => githubActivity.cy.ts} | 0 .../e2e/{metrics.spec.ts => metrics.cy.ts} | 23 +++++++++--- .../e2e/{projects.spec.ts => projects.cy.ts} | 32 +++++++++++----- tests/functional/cypress/support/commands.js | 11 ++++-- tests/functional/tsconfig.json | 2 +- 15 files changed, 227 insertions(+), 72 deletions(-) create mode 100644 tests/functional/cypress/appConfig/config.dev.ts create mode 100644 tests/functional/cypress/appConfig/config.production.ts rename tests/functional/cypress/e2e/{cla-group.spec.ts => cla-group.cy.ts} (87%) rename tests/functional/cypress/e2e/{cla-manager.spec.ts => cla-manager.cy.ts} (87%) rename tests/functional/cypress/e2e/{company.spec.ts => company.cy.ts} (90%) rename tests/functional/cypress/e2e/{events.spec.ts => events.cy.ts} (88%) rename tests/functional/cypress/e2e/{foundation.spec.ts => foundation.cy.ts} (68%) rename tests/functional/cypress/e2e/{github-organizations.spec.ts => github-organizations.cy.ts} (80%) rename tests/functional/cypress/e2e/{github-repositories.spec.ts => github-repositories.cy.ts} (87%) rename tests/functional/cypress/e2e/{githubActivity.spec.ts => githubActivity.cy.ts} (100%) rename tests/functional/cypress/e2e/{metrics.spec.ts => metrics.cy.ts} (88%) rename tests/functional/cypress/e2e/{projects.spec.ts => projects.cy.ts} (73%) diff --git a/tests/functional/cypress.env.json b/tests/functional/cypress.env.json index 6fdceb0f1..8cab24919 100644 --- a/tests/functional/cypress.env.json +++ b/tests/functional/cypress.env.json @@ -5,5 +5,6 @@ "AUTH0_PASSWORD":"Test@123", "LFX_API_TOKEN":"gDYBt6VYW6cmXelL/a3wTmHMa9sD37Xo9gsgaIjncbw=", "AUTH0_CLIENT_SECRET":"eyJuYW1lIjoiYXV0aDAuanMtdWxwIiwidmVyc2lvbiI6IjkuMTIuMiJ9", - "AUTH0_CLIENT_ID":"hquZHO8JNsaIScoayPtCS5VELdn7TnVq" + "AUTH0_CLIENT_ID":"hquZHO8JNsaIScoayPtCS5VELdn7TnVq", + "CYPRESS_ENV" :"dev" } \ No newline at end of file diff --git a/tests/functional/cypress/appConfig/config.dev.ts b/tests/functional/cypress/appConfig/config.dev.ts new file mode 100644 index 000000000..e83f63beb --- /dev/null +++ b/tests/functional/cypress/appConfig/config.dev.ts @@ -0,0 +1,37 @@ +// config.dev.js +export const appConfig = { + projectSFID: 'a09P000000DsCE5IAN',//project name: SUN + + /*Variable for create cla group*/ + foundationSFID:'a09P000000DsNGsIAN', //project name: easyAutom foundation & common for foundation.spec.ts + createNewClaGroupSFID:'a09P000000DsNGxIAN', //project name: easyAutom-child1 + claGroupName:'CypressDevClaGroup', + gitHubOrgPartialStatus:'Sun-lfxfoundationOrgTest',//For partial Connection + enrollProjectsSFID:'a09P000000DsNHCIA3', //project name: easyAutomChild1-GrandChild1, + child_Project_name:'easyAutomChild1-GrandChild1', + + /*company*/ + companyName:'Infosys Limited', + user_id:"8f3e52b8-0072-11ee-9def-0ef17207dfe8",//vthakur+lfstaff@contractor.linuxfoundation.org + userEmail: "vthakur+lfstaff@contractor.linuxfoundation.org", + user_id2: "4a4c1dba-407f-11ed-8c58-a6b0f8fb81a9",//vthakur+lfitstaff@contractor.linuxfoundation.org + + /*events*/ + companyID:"f7c7ac9c-4dbf-4104-ab3f-6b38a26d82dc", + childProjectSFID:'a09P000000DsNH2IAN', //project name: easyAutom-child2 + + /*github-organizations*/ + gitHubOrgUpdate:'ApiAutomStandaloneOrg', + gitHubNewOrg:'cypressioTest', + claGroupId:'1baf67ab-d894-4edf-b6fc-c5f939db59f7', + + /*metrics*/ + projectID:'01af041c-fa69-4052-a23c-fb8c1d3bef24', + + /*cla-manager*/ + userIdclaManager:'c5ac2857-c263-11ed-94d1-d2349de32229',//veerendrat + claGroupId_projectSFID:'01af041c-fa69-4052-a23c-fb8c1d3bef24', + + /* project */ + projectName:'easyAutom-child2', + }; \ No newline at end of file diff --git a/tests/functional/cypress/appConfig/config.production.ts b/tests/functional/cypress/appConfig/config.production.ts new file mode 100644 index 000000000..02a426f86 --- /dev/null +++ b/tests/functional/cypress/appConfig/config.production.ts @@ -0,0 +1,8 @@ +// config.production.js +export const appConfig = { + projectSFID: 'a09P000000DsCE5IAN',//project name: SUN + //Veriable used in foundation.spec.ts + foundationSFID:'a09P000000DsNGsIAN' //project name: easyAutom foundation + //Variable for create cla group + + }; \ No newline at end of file diff --git a/tests/functional/cypress/e2e/cla-group.spec.ts b/tests/functional/cypress/e2e/cla-group.cy.ts similarity index 87% rename from tests/functional/cypress/e2e/cla-group.spec.ts rename to tests/functional/cypress/e2e/cla-group.cy.ts index 6dff29922..365da37c5 100644 --- a/tests/functional/cypress/e2e/cla-group.spec.ts +++ b/tests/functional/cypress/e2e/cla-group.cy.ts @@ -1,30 +1,42 @@ import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' describe("To Validate 'GET, CREATE, UPDATE and DELETE' CLA groups API call on child project", function () { + + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); + + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/cla-group const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4`; let claGroupId: string =""; //Variable for create cla group - const foundation_sfid='a09P000000DsNGsIAN'; //project name: easyAutom foundation - const projectSfid='a09P000000DsNGxIAN'; //project name: easyAutom-child1 - const cla_group_name='CypressClaGroup'; + const foundation_sfid=appConfig.foundationSFID; //project name: easyAutom foundation + const projectSfid=appConfig.createNewClaGroupSFID; //project name: easyAutom-child1 + const cla_group_name=appConfig.claGroupName; const cla_group_description='Added via cypress script'; //variable for update cla group - const updated_cla_group_name='Cypress_Updated_ClaGroup1'; + const updated_cla_group_name='Cypress_Updated_ClaGroup'; const update_cla_group_description='CLA group created and updated for easy cla automation child project 1' //Variable for GitHub - const gitHubOrgName='Sun-lfxfoundationOrgTest'; - const projectSfidOrg='a09P000000DsCE5IAN'; //project name: sun + const gitHubOrgName=appConfig.gitHubOrgPartialStatus; + const projectSfidOrg=appConfig.projectSFID; //project name: sun //Enroll /unEnroll projects - const EnrollProjectsSFID='a09P000000DsNHCIA3' //project name: easyAutomChild1-GrandChild1 - const child_Project_name='easyAutomChild1-GrandChild1' + const enrollProjectsSFID=appConfig.enrollProjectsSFID //project name: easyAutomChild1-GrandChild1 + const child_Project_name=appConfig.child_Project_name let bearerToken: string = null; @@ -45,6 +57,7 @@ describe("To Validate 'GET, CREATE, UPDATE and DELETE' CLA groups API call on ch auth: { 'bearer': bearerToken, }, + failOnStatusCode: false, body: { "icla_enabled": true, "ccla_enabled": true, @@ -81,6 +94,8 @@ describe("To Validate 'GET, CREATE, UPDATE and DELETE' CLA groups API call on ch } }, }).then((response) => { + const jsonResponse = JSON.stringify(response.body, null, 2); + cy.log(jsonResponse); // expect(response.duration).to.be.lessThan(20000); validate_200_Status(response); @@ -150,7 +165,7 @@ describe("To Validate 'GET, CREATE, UPDATE and DELETE' CLA groups API call on ch auth: { 'bearer': bearerToken, }, - body: [EnrollProjectsSFID], + body: [enrollProjectsSFID], }).then((response) => { // expect(response.duration).to.be.lessThan(20000); validate_200_Status(response); @@ -169,7 +184,7 @@ describe("To Validate 'GET, CREATE, UPDATE and DELETE' CLA groups API call on ch expect(secondResponse.body).to.have.property('list'); let list = secondResponse.body.list; expect(list[0].project_list[1].project_name).to.eql(child_Project_name) - expect(list[0].project_list[1].project_sfid).to.eql(EnrollProjectsSFID) + expect(list[0].project_list[1].project_sfid).to.eql(enrollProjectsSFID) expect(list[0].project_list[0].project_sfid).to.eql(projectSfid) }); } else { @@ -186,7 +201,7 @@ describe("To Validate 'GET, CREATE, UPDATE and DELETE' CLA groups API call on ch auth: { 'bearer': bearerToken, }, - body: [EnrollProjectsSFID], + body: [enrollProjectsSFID], }).then((response) => { // expect(response.duration).to.be.lessThan(20000); validate_200_Status(response); diff --git a/tests/functional/cypress/e2e/cla-manager.spec.ts b/tests/functional/cypress/e2e/cla-manager.cy.ts similarity index 87% rename from tests/functional/cypress/e2e/cla-manager.spec.ts rename to tests/functional/cypress/e2e/cla-manager.cy.ts index 30bb3203a..63477b119 100644 --- a/tests/functional/cypress/e2e/cla-manager.spec.ts +++ b/tests/functional/cypress/e2e/cla-manager.cy.ts @@ -1,25 +1,35 @@ import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' describe("To Validate cla-manager API call", function () { - //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/cla-manager + + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); + + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/cla-manager /* https://api-gw.dev.platform.linuxfoundation.org/acs/v1/api-docs#tag/UserRole https://api-gw.dev.platform.linuxfoundation.org/acs/v1/api-docs#tag/Role/operation/getRoles */ //Variable for GitHub - const companyID="f7c7ac9c-4dbf-4104-ab3f-6b38a26d82dc";//infosys limited - const projectSFID="a09P000000DsCE5IAN";//sun - const projectSFID_Designee="a09P000000DsNH2IAN" + const companyID=appConfig.companyID;//infosys limited + const projectSFID=appConfig.projectSFID;//sun + const projectSFID_Designee=appConfig.childProjectSFID//EASYAUTOM-CHILD2 const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/`; let bearerToken: string = null; - const claGroupID="1baf67ab-d894-4edf-b6fc-c5f939db59f7"; - const sun_claGroupID="01af041c-fa69-4052-a23c-fb8c1d3bef24" + const claGroupID=appConfig.claGroupId; + const sun_claGroupID=appConfig.claGroupId_projectSFID //sun const userEmail="veerendrat@proximabiz.com"; - let companyName="Infosys limited"; - let organization_id=""; - let organization_name=""; + let companyName=appConfig.companyName//"Infosys limited"; let companySFID=""; let userLFID="veerendrat"; - let userId="c5ac2857-c263-11ed-94d1-d2349de32229";//veerendrat + let userId=appConfig.userIdclaManager//"c5ac2857-c263-11ed-94d1-d2349de32229";//veerendrat before(() => { @@ -81,8 +91,6 @@ https://api-gw.dev.platform.linuxfoundation.org/acs/v1/api-docs#tag/Role/operati validate_200_Status(response); // Validate specific data in the response let list = response.body; - organization_id=list.organization_id; - organization_name=list.organization_name; expect(list.project_sfid).to.eql(projectSFID) //To validate schema of response }else{ diff --git a/tests/functional/cypress/e2e/company.spec.ts b/tests/functional/cypress/e2e/company.cy.ts similarity index 90% rename from tests/functional/cypress/e2e/company.spec.ts rename to tests/functional/cypress/e2e/company.cy.ts index bd3f5c9f9..0d33cd31d 100644 --- a/tests/functional/cypress/e2e/company.spec.ts +++ b/tests/functional/cypress/e2e/company.cy.ts @@ -1,19 +1,31 @@ import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' describe("To Validate & get Company Activity Callback via API call", function () { - //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/company + + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); + + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/company const claBaseEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/`; const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/company/`; - let companyName="Infosys Limited"; + let companyExternalID=""; - let companyID="fcf59557-9708-4b2f-8200-4e6448761c0a";//Microsoft Corporation - - let signingEntityName=""; - const projectSFID="a09P000000DsCE5IAN"; - let claGroupId=""; - - const user_id="8f3e52b8-0072-11ee-9def-0ef17207dfe8";//vthakur+lfstaff@contractor.linuxfoundation.org - const userEmail= "vthakur+lfstaff@contractor.linuxfoundation.org"; - const user_id2="4a4c1dba-407f-11ed-8c58-a6b0f8fb81a9"//vthakur+lfitstaff@contractor.linuxfoundation.org + let companyID=""; + let signingEntityName=""; + let claGroupId=""; + + let companyName=appConfig.companyName; + const projectSFID=appConfig.projectSFID; //project name: sun + const user_id=appConfig.user_id;//vthakur+lfstaff@contractor.linuxfoundation.org + const userEmail=appConfig.userEmail; + const user_id2=appConfig.user_id2//vthakur+lfitstaff@contractor.linuxfoundation.org let bearerToken: string = null; before(() => { diff --git a/tests/functional/cypress/e2e/events.spec.ts b/tests/functional/cypress/e2e/events.cy.ts similarity index 88% rename from tests/functional/cypress/e2e/events.spec.ts rename to tests/functional/cypress/e2e/events.cy.ts index b248e3169..512ae9e77 100644 --- a/tests/functional/cypress/e2e/events.spec.ts +++ b/tests/functional/cypress/e2e/events.cy.ts @@ -1,13 +1,25 @@ import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' describe("To Validate events are properly capture via API call", function () { - //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/events + + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); + + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/events const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/events`; let claEndpointForNextKey=""; let NextKey: string=""; - const foundationSFID='a09P000000DsNGsIAN'; //project name: easyAutom foundation - const projectSfid='a09P000000DsNH2IAN'; //project name: easyAutom-child2 - const companyID="f7c7ac9c-4dbf-4104-ab3f-6b38a26d82dc"; - const compProjectSFID="a092h000004x5tVAAQ"; + const foundationSFID=appConfig.foundationSFID; //project name: easyAutom foundation + const projectSfid=appConfig.childProjectSFID; //project name: easyAutom-child2 + const companyID=appConfig.companyID;//Infosys Limited + const compProjectSFID=appConfig.projectSFID; //sun let bearerToken: string = null; before(() => { diff --git a/tests/functional/cypress/e2e/foundation.spec.ts b/tests/functional/cypress/e2e/foundation.cy.ts similarity index 68% rename from tests/functional/cypress/e2e/foundation.spec.ts rename to tests/functional/cypress/e2e/foundation.cy.ts index 8db63b224..54b134abf 100644 --- a/tests/functional/cypress/e2e/foundation.spec.ts +++ b/tests/functional/cypress/e2e/foundation.cy.ts @@ -1,8 +1,21 @@ import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' +//import {appConfig} from '../support/config.${Cypress.env("CYPRESS_ENV")}' describe("To Validate & get list of Foundation ClaGroups via API call", function () { - //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/foundation + + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); + + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/foundation const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/foundation-mapping`; - const foundationSFID='a09P000000DsNGsIAN'; //project name: easyAutom foundation + const foundationSFID=appConfig.foundationSFID; //project name: easyAutom foundation let bearerToken: string = null; before(() => { diff --git a/tests/functional/cypress/e2e/github-organizations.spec.ts b/tests/functional/cypress/e2e/github-organizations.cy.ts similarity index 80% rename from tests/functional/cypress/e2e/github-organizations.spec.ts rename to tests/functional/cypress/e2e/github-organizations.cy.ts index dc52d3b3d..cf4de4381 100644 --- a/tests/functional/cypress/e2e/github-organizations.spec.ts +++ b/tests/functional/cypress/e2e/github-organizations.cy.ts @@ -1,17 +1,25 @@ import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' describe("To Validate github-organizations API call", function () { -//Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/github-organizations + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); - //Variable for GitHub - const gitHubOrgName='ApiAutomStandaloneOrg'; - const projectSfidOrg='a09P000000DsNH2IAN'; //project name: easyAutom-child2 - const gitHubOrg='cypressioTest'; + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/github-organizations + //Variable for GitHub + const gitHubOrgName=appConfig.gitHubOrgUpdate; + const projectSfidOrg=appConfig.childProjectSFID; //project name: easyAutom-child2 + const gitHubOrg=appConfig.gitHubNewOrg; const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/project/${projectSfidOrg}/github/organizations`; -const claGroupId: string ="1baf67ab-d894-4edf-b6fc-c5f939db59f7"; - +const claGroupId: string =appConfig.claGroupId; let bearerToken: string = null; before(() => { diff --git a/tests/functional/cypress/e2e/github-repositories.spec.ts b/tests/functional/cypress/e2e/github-repositories.cy.ts similarity index 87% rename from tests/functional/cypress/e2e/github-repositories.spec.ts rename to tests/functional/cypress/e2e/github-repositories.cy.ts index 457c11e78..ab9379fad 100644 --- a/tests/functional/cypress/e2e/github-repositories.spec.ts +++ b/tests/functional/cypress/e2e/github-repositories.cy.ts @@ -1,13 +1,24 @@ import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' describe("To Validate github-organizations API call", function () { - //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/github-repositories + + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); + + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/github-repositories - const Ajv = require('ajv'); //Variable for GitHub - const projectSfidOrg='a09P000000DsNH2IAN'; //project name: easyAutom-child2 + const projectSfidOrg=appConfig.childProjectSFID; //project name: easyAutom-child2 const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/project/${projectSfidOrg}/github/repositories`; - let claGroupId: string ="1baf67ab-d894-4edf-b6fc-c5f939db59f7"; + let claGroupId: string =appConfig.claGroupId; let repository_id: string=""; let repository_external_id: string=""; let repository_external_id2: string=""; diff --git a/tests/functional/cypress/e2e/githubActivity.spec.ts b/tests/functional/cypress/e2e/githubActivity.cy.ts similarity index 100% rename from tests/functional/cypress/e2e/githubActivity.spec.ts rename to tests/functional/cypress/e2e/githubActivity.cy.ts diff --git a/tests/functional/cypress/e2e/metrics.spec.ts b/tests/functional/cypress/e2e/metrics.cy.ts similarity index 88% rename from tests/functional/cypress/e2e/metrics.spec.ts rename to tests/functional/cypress/e2e/metrics.cy.ts index 3367d8788..4b8a87861 100644 --- a/tests/functional/cypress/e2e/metrics.spec.ts +++ b/tests/functional/cypress/e2e/metrics.cy.ts @@ -1,14 +1,27 @@ import { isNull } from 'cypress/types/lodash'; import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' describe("To Validate cla-manager API call", function () { - //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/metrics + + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); + + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/metrics const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/metrics/`; - const companyID="f7c7ac9c-4dbf-4104-ab3f-6b38a26d82dc";//infosys limited - const companyName="Infosys Limited"; - const projectSFID="a09P000000DsCE5IAN";//SUN - let projectID="01af041c-fa69-4052-a23c-fb8c1d3bef24"; + const companyID=appConfig.companyID;//infosys limited + const companyName=appConfig.companyName;//Infosys Limited + const projectSFID=appConfig.projectSFID;//SUN + let projectID=appConfig.projectID; let claEndpointForNextKey=""; let bearerToken: string = null; + before(() => { if(bearerToken==null){ getTokenKey(bearerToken); diff --git a/tests/functional/cypress/e2e/projects.spec.ts b/tests/functional/cypress/e2e/projects.cy.ts similarity index 73% rename from tests/functional/cypress/e2e/projects.spec.ts rename to tests/functional/cypress/e2e/projects.cy.ts index 2add2b05f..872883e5a 100644 --- a/tests/functional/cypress/e2e/projects.spec.ts +++ b/tests/functional/cypress/e2e/projects.cy.ts @@ -1,12 +1,26 @@ import {validateApiResponse,validate_200_Status,getTokenKey} from '../support/commands' describe("To Validate & get projects Activity Callback via API call", function () { - //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/project - const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/project`; -let foundationSFID='a09P000000DsNGsIAN'; //project name: easyAutom foundation + + // Define a variable for the environment + const environment = Cypress.env("CYPRESS_ENV"); + + // Import the appropriate configuration based on the environment + let appConfig; + if (environment === 'dev') { + appConfig = require('../appConfig/config.dev.ts').appConfig; + } else if (environment === 'production') { + appConfig = require('../appConfig/config.production.ts').appConfig; + } + + //Reference api doc: https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#tag/project + const claEndpoint = `${Cypress.env("APP_URL")}cla-service/v4/project`; + + let foundationSFID=appConfig.foundationSFID ; //project name: easyAutom foundation let bearerToken: string = null; - let projectSfid="a09P000000DsNGsIAN"; - let externalID="a09P000000DsNGsIAN"; - let projectName="easyAutom-child2"; + let projectSfid=appConfig.foundationSFID ; //project name: easyAutom foundation + let externalID=appConfig.foundationSFID ; //project name: easyAutom foundation + let projectName=appConfig.projectName; + before(() => { if(bearerToken==null){ getTokenKey(bearerToken); @@ -46,7 +60,7 @@ it("Get CLA enabled projects", function () { }); }); -it.skip("Get CLA Groups By SFDC ID", function () { +it("Get CLA Groups By SFDC ID", function () { cy.request({ method: 'GET', url: `${claEndpoint}/external/${externalID}}`, @@ -59,7 +73,7 @@ it.skip("Get CLA Groups By SFDC ID", function () { }); }); -it.skip("Get Project By Name", function () { +it("Get Project By Name", function () { cy.request({ method: 'GET', url: `${claEndpoint}/name/${projectName}`, @@ -71,7 +85,7 @@ it.skip("Get Project By Name", function () { }); }); -it.skip("Get Project by ID", function () { +it("Get Project by ID", function () { cy.request({ method: 'GET', url: `${claEndpoint}/${projectSfid}`, diff --git a/tests/functional/cypress/support/commands.js b/tests/functional/cypress/support/commands.js index 7c5ee2b94..ef0059eda 100644 --- a/tests/functional/cypress/support/commands.js +++ b/tests/functional/cypress/support/commands.js @@ -9,11 +9,14 @@ export function validateApiResponse (schemaPath,response) { const isValid = validate(response.body); // Assert that the response matches the schema + if (isValid) { -} else { - console.log('Data is not valid.', validate.errors); -} -expect(isValid, 'API response schema is valid').to.be.true; + cy.log('API response schema is valid'); + expect(isValid, 'API response schema is valid').to.be.true; + } else { + cy.log('API response schema is not valid, but the test will continue.', validate.errors); + } + }); }; diff --git a/tests/functional/tsconfig.json b/tests/functional/tsconfig.json index f9cdb8fa4..059bc9e0a 100644 --- a/tests/functional/tsconfig.json +++ b/tests/functional/tsconfig.json @@ -2,7 +2,7 @@ "include": [ "./**/*.ts" - ], +, "cypress/config.dev.js" ], "compilerOptions": { "baseUrl": "integration", "types": [