From 2282d60548fb203ec3737cb7c182887011c828e6 Mon Sep 17 00:00:00 2001 From: ike thecoder Date: Wed, 14 Feb 2024 14:48:49 -0800 Subject: [PATCH] 1)Update cypress to latest version to support execution on latest chrome and edge browser (#988) 1)Update cypress to latest version to support execution on latest chrome and edge browser (#988) 2)Update cypress tests to latest changes in aps portal and gwa cli 3)Update cypress tests to latest methods in latest cypress version to clear cookies and session storage Co-authored-by: Niraj Patel --- docker-compose.yml | 48 +-- e2e/Dockerfile | 2 +- e2e/cypress/pageObjects/apiDirectory.ts | 2 +- e2e/cypress/support/auth-commands.ts | 6 +- .../tests/01-api-key/01-create-api.cy.ts | 4 +- .../03-request-access-inactive-env.cy.ts | 25 +- ...cess-with-out-collecting-credentials.cy.ts | 3 - .../01-api-key/07-approve-pending-rqst.cy.ts | 2 - .../01-client-cred-team-access.cy.ts | 3 +- .../02-create_authorizarion_profile.cy.ts | 2 - .../05-cids-access-approve-api-rqst.cy.ts | 13 +- .../06-jwt-genkp-access-rqst.cy.ts | 3 - ...07-jwt-genkp-access-approve-api-rqst.cy.ts | 3 - .../08-jwks-url-gen-keys-access-rqst.cy.ts | 3 - ...09-jwks-url-access-approval-api-rqst.cy.ts | 3 - .../10-jwks-publicKey-access-rqst.cy.ts | 3 - ...t-publlicKey-access-approve-api-rqst.cy.ts | 3 - ...approve-pending-rqst-for-labels.spec.cy.ts | 2 - .../01-migrate-user-access.cy.ts | 16 - .../07-manage-control/01-ip-restriction.cy.ts | 4 - .../07-manage-control/02-rate-limiting.cy.ts | 2 - ...03-kong-api-only-apply-rate-limiting.cy.ts | 13 +- .../08-client-role/03-read-client-role.ts | 6 - .../08-client-role/04-write-client-role.ts | 6 - .../08-client-role/05-check-without-role.ts | 6 - ...01-client-credential-to-kong-acl-api.cy.ts | 10 - ...02-kong-acl-api-to-client-credential.cy.ts | 10 - .../03-apply-multiple-services.cy.ts | 10 - .../09-update-product-env/06-shared-idp.cy.ts | 4 - .../10-clear-resources/01-create-api.cy.ts | 2 +- .../11-activity-feed/01-activity-feed.cy.ts | 2 - .../02-activity-feed-failure.cy.ts | 8 - .../12-access-permission/01-create-api.cy.ts | 2 +- .../04-access-manager.cy.ts | 7 - .../05-namespace-manage.cy.ts | 8 - .../06-credential-issuer.cy.ts | 4 - .../07-namespace-view.cy.ts | 7 - .../08-gateway-config.cy.ts | 7 - .../01-create-api.cy.ts | 2 +- .../01-client-cred-team-access.ts | 22 +- .../02-multiple-org-admin.ts | 8 +- .../03-multiple-org-admin-org-unit.ts | 6 +- .../tests/15-aps-api/01-create-api.cy.ts | 3 +- .../tests/15-aps-api/02-organization.cy.ts | 58 ++-- .../15-aps-api/05-authorizationProfiles.cy.ts | 11 - .../tests/15-aps-api/06-products.cy.ts | 10 - .../tests/16-gwa-cli/01-cli-commands.ts | 2 +- .../16-gwa-cli/02-cli-generate-config.ts | 5 +- ...te-application-with-approved-request.cy.ts | 8 - .../04-delete-namespace-gwa.ts | 3 +- e2e/package-lock.json | 300 ++++++++++++------ e2e/package.json | 2 +- 52 files changed, 306 insertions(+), 398 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 445c2b9d9..994f8ebbf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -103,30 +103,30 @@ services: - ./local/feeder-init:/tmp networks: - aps-net - cypress: - image: aps-cypress-e2e:latest - container_name: cypress-e2e - entrypoint: sh -c "chmod +x /tmp/entrypoint.sh && /tmp/entrypoint.sh" - environment: - - CYPRESS_RECORD_KEY=${CY_RECORD_KEY} - - CYPRESS_PROJECT_ID=${CY_PROJECT_ID} - - RUN_ENV=${CY_EXECUTION_ENV} - - COMMIT_INFO_BRANCH=${CY_COMMIT_BRANCH} - - COMMIT_INFO_SHA=${CY_COMMIT_SHA} - - COMMIT_INFO_AUTHOR=${CY_COMMIT_AUTHOR} - - COMMIT_INFO_MESSAGE=${CY_COMMIT_MESSAGE} - - COMMIT_INFO_REMOTE=${CY_REPO_URL} - - COMMIT_INFO_EMAIL=${CY_COMMIT_AUTHOR_EMAIL} - depends_on: - - feeder-seeding - build: - context: ./e2e - dockerfile: Dockerfile - volumes: - - ./e2e/coverage:/e2e/coverage - - ./e2e/results:/e2e/results - networks: - - aps-net + # cypress: + # image: aps-cypress-e2e:latest + # container_name: cypress-e2e + # entrypoint: sh -c "chmod +x /tmp/entrypoint.sh && /tmp/entrypoint.sh" + # environment: + # - CYPRESS_RECORD_KEY=${CY_RECORD_KEY} + # - CYPRESS_PROJECT_ID=${CY_PROJECT_ID} + # - RUN_ENV=${CY_EXECUTION_ENV} + # - COMMIT_INFO_BRANCH=${CY_COMMIT_BRANCH} + # - COMMIT_INFO_SHA=${CY_COMMIT_SHA} + # - COMMIT_INFO_AUTHOR=${CY_COMMIT_AUTHOR} + # - COMMIT_INFO_MESSAGE=${CY_COMMIT_MESSAGE} + # - COMMIT_INFO_REMOTE=${CY_REPO_URL} + # - COMMIT_INFO_EMAIL=${CY_COMMIT_AUTHOR_EMAIL} + # depends_on: + # - feeder-seeding + # build: + # context: ./e2e + # dockerfile: Dockerfile + # volumes: + # - ./e2e/coverage:/e2e/coverage + # - ./e2e/results:/e2e/results + # networks: + # - aps-net kong-db: image: postgres:12.8 container_name: kong-db diff --git a/e2e/Dockerfile b/e2e/Dockerfile index 70df0662a..ec4ec7539 100644 --- a/e2e/Dockerfile +++ b/e2e/Dockerfile @@ -9,7 +9,7 @@ COPY package.json /e2e COPY package-lock.json /e2e COPY *.yml /e2e COPY entrypoint.sh /tmp -COPY gwa /usr/local/bin +# COPY gwa /usr/local/bin ADD cypress /e2e/cypress RUN npm install diff --git a/e2e/cypress/pageObjects/apiDirectory.ts b/e2e/cypress/pageObjects/apiDirectory.ts index f0911e67e..b7825311b 100644 --- a/e2e/cypress/pageObjects/apiDirectory.ts +++ b/e2e/cypress/pageObjects/apiDirectory.ts @@ -24,7 +24,7 @@ class ApiDirectoryPage { cy.contains('a', product.name, { timeout: 10000 }).should('be.visible'); cy.contains(product.name).click() if (elevatedAccess) { - cy.contains('For elevated access, please Request Access').should('be.visible'); + cy.contains('For elevated access, please request acces').should('be.visible'); } cy.get(this.rqstAccessBtn).click() cy.get(this.appSelect).select(app.name) diff --git a/e2e/cypress/support/auth-commands.ts b/e2e/cypress/support/auth-commands.ts index ee920d741..65263d7ff 100644 --- a/e2e/cypress/support/auth-commands.ts +++ b/e2e/cypress/support/auth-commands.ts @@ -91,7 +91,6 @@ Cypress.Commands.add('resetCredential', (accessRole: string) => { const login = new LoginPage() const home = new HomePage() const na = new NamespaceAccessPage() - cy.deleteAllCookies() cy.visit('/') cy.reload() cy.fixture('apiowner').as('apiowner') @@ -117,7 +116,6 @@ Cypress.Commands.add('getUserSessionTokenValue', (namespace: string, isNamespace const home = new HomePage() const na = new NamespaceAccessPage() let userSession: string - cy.deleteAllCookies() cy.visit('/') cy.reload() cy.fixture('apiowner').as('apiowner') @@ -201,8 +199,10 @@ Cypress.Commands.add('logout', () => { cy.log('< Logging out') cy.getSession().then(() => { cy.get('@session').then((res: any) => { + cy.visit('/') + cy.wait(3000) cy.get('[data-testid=auth-menu-user]').click({ force: true }) - cy.contains('Logout').click() + cy.get('[data-testid=auth-menu-signout-btn]').click({ force: true }) }) }) cy.log('> Logging out') diff --git a/e2e/cypress/tests/01-api-key/01-create-api.cy.ts b/e2e/cypress/tests/01-api-key/01-create-api.cy.ts index 9fe06b03c..68a1d7da4 100644 --- a/e2e/cypress/tests/01-api-key/01-create-api.cy.ts +++ b/e2e/cypress/tests/01-api-key/01-create-api.cy.ts @@ -14,9 +14,9 @@ describe('Create API Spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() cy.resetState() + cy.deleteAllCookies() }) beforeEach(() => { @@ -180,7 +180,5 @@ it('Verify gwa gateway publish multiple config file', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/01-api-key/03-request-access-inactive-env.cy.ts b/e2e/cypress/tests/01-api-key/03-request-access-inactive-env.cy.ts index 20479b2a8..bfe769346 100644 --- a/e2e/cypress/tests/01-api-key/03-request-access-inactive-env.cy.ts +++ b/e2e/cypress/tests/01-api-key/03-request-access-inactive-env.cy.ts @@ -48,8 +48,6 @@ describe('Change an Active environment to Inactive', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -60,13 +58,12 @@ describe('Verify enactive environment in rrequest access pop up', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { cy.preserveCookies() cy.fixture('developer').as('developer') + Cypress.session.clearAllSavedSessions() // cy.visit(login.path) }) @@ -96,8 +93,12 @@ describe('Verify enactive environment in rrequest access pop up', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() + // cy.clearLocalStorage({ log: true }) + // cy.deleteAllCookies() + // Cypress.session.clearAllSavedSessions() + // cy.clearCookie('_oauth2_proxy') + // cy.clearCookie('keystone.sid') + // debugger }) }) @@ -108,9 +109,12 @@ describe('Change an the environment back to active', () => { const pd = new Products() before(() => { + debugger + // cy.clearAllSessionStorage({log: true}) cy.visit('/') - cy.deleteAllCookies() - cy.reload() + // cy.deleteAllCookies() + // cy.clearCookies() + // cy.reload() }) beforeEach(() => { @@ -131,6 +135,7 @@ describe('Change an the environment back to active', () => { }) it('Navigate to Products Page', () => { + debugger cy.visit(pd.path) }) @@ -143,7 +148,7 @@ describe('Change an the environment back to active', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() + // cy.clearLocalStorage({ log: true }) + // cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/01-api-key/04-request-access-with-out-collecting-credentials.cy.ts b/e2e/cypress/tests/01-api-key/04-request-access-with-out-collecting-credentials.cy.ts index 4eb63eb4c..85d5de5dd 100644 --- a/e2e/cypress/tests/01-api-key/04-request-access-with-out-collecting-credentials.cy.ts +++ b/e2e/cypress/tests/01-api-key/04-request-access-with-out-collecting-credentials.cy.ts @@ -11,7 +11,6 @@ describe('Request Access without colleting credential Spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -39,7 +38,5 @@ describe('Request Access without colleting credential Spec', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/01-api-key/07-approve-pending-rqst.cy.ts b/e2e/cypress/tests/01-api-key/07-approve-pending-rqst.cy.ts index d48bc2e33..110bdbba4 100644 --- a/e2e/cypress/tests/01-api-key/07-approve-pending-rqst.cy.ts +++ b/e2e/cypress/tests/01-api-key/07-approve-pending-rqst.cy.ts @@ -72,8 +72,6 @@ describe('Approve Pending Request Spec', () => { }) after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/02-client-credential-flow/01-client-cred-team-access.cy.ts b/e2e/cypress/tests/02-client-credential-flow/01-client-cred-team-access.cy.ts index c0ba4af3a..6af9f276b 100644 --- a/e2e/cypress/tests/02-client-credential-flow/01-client-cred-team-access.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/01-client-cred-team-access.cy.ts @@ -39,7 +39,8 @@ describe('Grant appropriate permissions to team members for client credential fl it('create namespace using gwa cli command', () => { var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); - cy.exec('gwa namespace create --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 5000, failOnNonZeroExit: false }).then((response) => { + debugger assert.isNotNaN(response.stdout) namespace = response.stdout cy.replaceWordInJsonObject('ccplatform', namespace, 'cc-service-gwa.yml') diff --git a/e2e/cypress/tests/02-client-credential-flow/02-create_authorizarion_profile.cy.ts b/e2e/cypress/tests/02-client-credential-flow/02-create_authorizarion_profile.cy.ts index e7b0ec4db..8a89f006d 100644 --- a/e2e/cypress/tests/02-client-credential-flow/02-create_authorizarion_profile.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/02-create_authorizarion_profile.cy.ts @@ -81,7 +81,5 @@ describe('Generate Authorization Profiles', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/02-client-credential-flow/05-cids-access-approve-api-rqst.cy.ts b/e2e/cypress/tests/02-client-credential-flow/05-cids-access-approve-api-rqst.cy.ts index 37c0be416..ec83f1f72 100644 --- a/e2e/cypress/tests/02-client-credential-flow/05-cids-access-approve-api-rqst.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/05-cids-access-approve-api-rqst.cy.ts @@ -13,7 +13,6 @@ describe('Access manager approves developer access request for Client ID/Secret before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -51,8 +50,6 @@ describe('Access manager approves developer access request for Client ID/Secret after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -91,7 +88,6 @@ describe('Verify the selected client scoped is displayed in assigned default lis before(() => { cy.visit(Cypress.env('KEYCLOAK_URL')) - cy.deleteAllCookies() cy.reload() }) @@ -131,8 +127,6 @@ describe('Verify the selected client scoped is displayed in assigned default lis after(() => { cy.keycloakLogout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -144,7 +138,6 @@ describe('Deselect the scope from authorization tab', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -182,6 +175,9 @@ describe('Deselect the scope from authorization tab', () => { consumers.saveAppliedConfig() }) }) + after(() => { + cy.logout() + }) }) describe('Verify the selected client scoped is not displayed in assigned default list', () => { @@ -193,7 +189,6 @@ describe('Verify the selected client scoped is not displayed in assigned default before(() => { cy.visit(Cypress.env('KEYCLOAK_URL')) - cy.deleteAllCookies() cy.reload() }) @@ -233,8 +228,6 @@ describe('Verify the selected client scoped is not displayed in assigned default after(() => { cy.keycloakLogout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/02-client-credential-flow/06-jwt-genkp-access-rqst.cy.ts b/e2e/cypress/tests/02-client-credential-flow/06-jwt-genkp-access-rqst.cy.ts index 9277a03a9..b51544eaa 100644 --- a/e2e/cypress/tests/02-client-credential-flow/06-jwt-genkp-access-rqst.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/06-jwt-genkp-access-rqst.cy.ts @@ -11,7 +11,6 @@ describe('Developer creates an access request for JWT Generated Key Pair authent before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -53,7 +52,5 @@ describe('Developer creates an access request for JWT Generated Key Pair authent after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/02-client-credential-flow/07-jwt-genkp-access-approve-api-rqst.cy.ts b/e2e/cypress/tests/02-client-credential-flow/07-jwt-genkp-access-approve-api-rqst.cy.ts index 140eb982e..be7cd48bb 100644 --- a/e2e/cypress/tests/02-client-credential-flow/07-jwt-genkp-access-approve-api-rqst.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/07-jwt-genkp-access-approve-api-rqst.cy.ts @@ -11,7 +11,6 @@ describe('Access manager approves developer access request for JWT - Generated K before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -45,8 +44,6 @@ describe('Access manager approves developer access request for JWT - Generated K after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/02-client-credential-flow/08-jwks-url-gen-keys-access-rqst.cy.ts b/e2e/cypress/tests/02-client-credential-flow/08-jwks-url-gen-keys-access-rqst.cy.ts index 3ab5a3929..01da22880 100644 --- a/e2e/cypress/tests/02-client-credential-flow/08-jwks-url-gen-keys-access-rqst.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/08-jwks-url-gen-keys-access-rqst.cy.ts @@ -39,7 +39,6 @@ describe('Developer creates an access request for JWKS URL', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -80,7 +79,5 @@ describe('Developer creates an access request for JWKS URL', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/02-client-credential-flow/09-jwks-url-access-approval-api-rqst.cy.ts b/e2e/cypress/tests/02-client-credential-flow/09-jwks-url-access-approval-api-rqst.cy.ts index a46bf0002..07aaef97d 100644 --- a/e2e/cypress/tests/02-client-credential-flow/09-jwks-url-access-approval-api-rqst.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/09-jwks-url-access-approval-api-rqst.cy.ts @@ -12,7 +12,6 @@ describe('Access manager approves developer access request for JWKS URL flow', ( before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -46,8 +45,6 @@ describe('Access manager approves developer access request for JWKS URL flow', ( after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/02-client-credential-flow/10-jwks-publicKey-access-rqst.cy.ts b/e2e/cypress/tests/02-client-credential-flow/10-jwks-publicKey-access-rqst.cy.ts index 798fdaef3..7d13d3986 100644 --- a/e2e/cypress/tests/02-client-credential-flow/10-jwks-publicKey-access-rqst.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/10-jwks-publicKey-access-rqst.cy.ts @@ -13,7 +13,6 @@ describe('Generates public/private key and set public key to access request', () before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -71,7 +70,5 @@ describe('Generates public/private key and set public key to access request', () after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/02-client-credential-flow/11-jwt-publlicKey-access-approve-api-rqst.cy.ts b/e2e/cypress/tests/02-client-credential-flow/11-jwt-publlicKey-access-approve-api-rqst.cy.ts index aa58e9d32..8542216b3 100644 --- a/e2e/cypress/tests/02-client-credential-flow/11-jwt-publlicKey-access-approve-api-rqst.cy.ts +++ b/e2e/cypress/tests/02-client-credential-flow/11-jwt-publlicKey-access-approve-api-rqst.cy.ts @@ -11,7 +11,6 @@ describe('Access manager approves developer access request for JWT - Generated K before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -46,8 +45,6 @@ describe('Access manager approves developer access request for JWT - Generated K after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/03-manage-labels/02-approve-pending-rqst-for-labels.spec.cy.ts b/e2e/cypress/tests/03-manage-labels/02-approve-pending-rqst-for-labels.spec.cy.ts index 8acba76ce..5662562ee 100644 --- a/e2e/cypress/tests/03-manage-labels/02-approve-pending-rqst-for-labels.spec.cy.ts +++ b/e2e/cypress/tests/03-manage-labels/02-approve-pending-rqst-for-labels.spec.cy.ts @@ -64,8 +64,6 @@ describe('Approve Pending Request Spec', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/05-migrate-user/01-migrate-user-access.cy.ts b/e2e/cypress/tests/05-migrate-user/01-migrate-user-access.cy.ts index bd817ab6e..29600e05e 100644 --- a/e2e/cypress/tests/05-migrate-user/01-migrate-user-access.cy.ts +++ b/e2e/cypress/tests/05-migrate-user/01-migrate-user-access.cy.ts @@ -10,8 +10,6 @@ describe('Assign Access to existing user Spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -45,8 +43,6 @@ describe('Assign Access to existing user Spec', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -57,8 +53,6 @@ describe('Authernticate with old user to initiate migration', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -81,8 +75,6 @@ describe('Authernticate with old user to initiate migration', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -94,8 +86,6 @@ describe('Verify that permission of old user is migrated to new user', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -138,8 +128,6 @@ describe('Verify that permission of old user is migrated to new user', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -151,8 +139,6 @@ describe('Verify that old user is no longer able to sign in', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -174,7 +160,5 @@ describe('Verify that old user is no longer able to sign in', () => { }) after(() => { - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/07-manage-control/01-ip-restriction.cy.ts b/e2e/cypress/tests/07-manage-control/01-ip-restriction.cy.ts index 2aeeb2f6e..4ea8283dc 100644 --- a/e2e/cypress/tests/07-manage-control/01-ip-restriction.cy.ts +++ b/e2e/cypress/tests/07-manage-control/01-ip-restriction.cy.ts @@ -9,8 +9,6 @@ describe('Manage Control-IP Restriction Spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -226,7 +224,5 @@ describe('Manage Control -Apply IP Restriction to Global and Consumer at Route l after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/07-manage-control/02-rate-limiting.cy.ts b/e2e/cypress/tests/07-manage-control/02-rate-limiting.cy.ts index c73464263..fa4805a7a 100644 --- a/e2e/cypress/tests/07-manage-control/02-rate-limiting.cy.ts +++ b/e2e/cypress/tests/07-manage-control/02-rate-limiting.cy.ts @@ -272,7 +272,5 @@ describe('Manage Control-Apply Rate limiting to Global and Consumer at Route lev after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/07-manage-control/03-kong-api-only-apply-rate-limiting.cy.ts b/e2e/cypress/tests/07-manage-control/03-kong-api-only-apply-rate-limiting.cy.ts index ad0d5c8f8..72602f996 100644 --- a/e2e/cypress/tests/07-manage-control/03-kong-api-only-apply-rate-limiting.cy.ts +++ b/e2e/cypress/tests/07-manage-control/03-kong-api-only-apply-rate-limiting.cy.ts @@ -20,7 +20,6 @@ describe('Apply Kong API key only plugin', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -58,6 +57,7 @@ describe('Apply Kong API key only plugin', () => { it('Create a new consumer and save the consumer Id', () => { cy.makeKongGatewayRequest('consumers', 'createConsumer', 'POST').then((response) => { + debugger expect(response.status).to.be.equal(201) consumerID = response.body.id cy.saveState("consumersid", consumerID) @@ -106,6 +106,9 @@ describe('Apply Kong API key only plugin', () => { expect(response.status).to.be.equal(201) }) }) + after(() => { + cy.logout() + }) }) describe('Check the API key for free access', () => { @@ -138,8 +141,6 @@ describe('Check the API key for Elevated access', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -176,8 +177,6 @@ describe('Check the API key for Elevated access', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -188,8 +187,6 @@ describe('Approve Pending Request Spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -247,8 +244,6 @@ describe('Approve Pending Request Spec', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/08-client-role/03-read-client-role.ts b/e2e/cypress/tests/08-client-role/03-read-client-role.ts index b221da16f..5f81dc6d0 100644 --- a/e2e/cypress/tests/08-client-role/03-read-client-role.ts +++ b/e2e/cypress/tests/08-client-role/03-read-client-role.ts @@ -56,8 +56,6 @@ describe('Developer creates an access request for Client ID/Secret authenticator after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -68,8 +66,6 @@ describe('Access manager apply "Read" role and approves developer access request before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -108,8 +104,6 @@ describe('Access manager apply "Read" role and approves developer access request after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/08-client-role/04-write-client-role.ts b/e2e/cypress/tests/08-client-role/04-write-client-role.ts index f4250cd3f..f6eb74aef 100644 --- a/e2e/cypress/tests/08-client-role/04-write-client-role.ts +++ b/e2e/cypress/tests/08-client-role/04-write-client-role.ts @@ -55,8 +55,6 @@ describe('Developer creates an access request for Client ID/Secret authenticator after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -67,8 +65,6 @@ describe('Access manager apply "Write" role and approves developer access reques before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -107,8 +103,6 @@ describe('Access manager apply "Write" role and approves developer access reques after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/08-client-role/05-check-without-role.ts b/e2e/cypress/tests/08-client-role/05-check-without-role.ts index 2f2c86b91..fed1ead1f 100644 --- a/e2e/cypress/tests/08-client-role/05-check-without-role.ts +++ b/e2e/cypress/tests/08-client-role/05-check-without-role.ts @@ -71,8 +71,6 @@ describe('Reset Authorization profile to default (without any role)', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -82,8 +80,6 @@ describe('Check service access without applying any roles', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -132,7 +128,5 @@ describe('Check service access without applying any roles', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/09-update-product-env/01-client-credential-to-kong-acl-api.cy.ts b/e2e/cypress/tests/09-update-product-env/01-client-credential-to-kong-acl-api.cy.ts index 7b5a35813..609f76633 100644 --- a/e2e/cypress/tests/09-update-product-env/01-client-credential-to-kong-acl-api.cy.ts +++ b/e2e/cypress/tests/09-update-product-env/01-client-credential-to-kong-acl-api.cy.ts @@ -109,8 +109,6 @@ describe('Change Authorization profile', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -123,8 +121,6 @@ describe('Request service Access Spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -162,8 +158,6 @@ describe('Request service Access Spec', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -174,8 +168,6 @@ describe('Access manager approves developer access request for Kong API ACL auth before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -220,7 +212,5 @@ describe('Access manager approves developer access request for Kong API ACL auth after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/09-update-product-env/02-kong-acl-api-to-client-credential.cy.ts b/e2e/cypress/tests/09-update-product-env/02-kong-acl-api-to-client-credential.cy.ts index 089bcf725..d1d94a6d0 100644 --- a/e2e/cypress/tests/09-update-product-env/02-kong-acl-api-to-client-credential.cy.ts +++ b/e2e/cypress/tests/09-update-product-env/02-kong-acl-api-to-client-credential.cy.ts @@ -112,8 +112,6 @@ describe('Change Authorization profile from Kong ACL-API to Client Credential', after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -126,8 +124,6 @@ describe('Developer creates an access request for Client ID/Secret authenticator before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -168,8 +164,6 @@ describe('Developer creates an access request for Client ID/Secret authenticator after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -180,8 +174,6 @@ describe('Access manager approves developer access request for Client ID/Secret before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -214,8 +206,6 @@ describe('Access manager approves developer access request for Client ID/Secret after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/09-update-product-env/03-apply-multiple-services.cy.ts b/e2e/cypress/tests/09-update-product-env/03-apply-multiple-services.cy.ts index 3cc4580bf..c0ddc9299 100644 --- a/e2e/cypress/tests/09-update-product-env/03-apply-multiple-services.cy.ts +++ b/e2e/cypress/tests/09-update-product-env/03-apply-multiple-services.cy.ts @@ -90,8 +90,6 @@ describe('Apply multiple services to the product environment', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -153,8 +151,6 @@ describe('Developer creates an access request for Client ID/Secret authenticator before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -195,8 +191,6 @@ describe('Developer creates an access request for Client ID/Secret authenticator after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -207,8 +201,6 @@ describe('Access manager approves developer access request for Client ID/Secret before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -241,8 +233,6 @@ describe('Access manager approves developer access request for Client ID/Secret after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/09-update-product-env/06-shared-idp.cy.ts b/e2e/cypress/tests/09-update-product-env/06-shared-idp.cy.ts index 9e5c3d28e..e59ae51d6 100644 --- a/e2e/cypress/tests/09-update-product-env/06-shared-idp.cy.ts +++ b/e2e/cypress/tests/09-update-product-env/06-shared-idp.cy.ts @@ -74,8 +74,6 @@ describe('Apply Shared IDP while creating Authorization Profile', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -89,8 +87,6 @@ describe('Update IDP issuer for shared IDP profile', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { diff --git a/e2e/cypress/tests/10-clear-resources/01-create-api.cy.ts b/e2e/cypress/tests/10-clear-resources/01-create-api.cy.ts index 715ea8324..817781a88 100644 --- a/e2e/cypress/tests/10-clear-resources/01-create-api.cy.ts +++ b/e2e/cypress/tests/10-clear-resources/01-create-api.cy.ts @@ -42,7 +42,7 @@ describe('Create API Spec for Delete Resources', () => { it('create namespace using gwa cli command', () => { var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); - cy.exec('gwa namespace create --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { assert.isNotNaN(response.stdout) namespace = response.stdout cy.replaceWordInJsonObject('ns.deleteplatform', 'ns.' + namespace, 'service-clear-resources-gwa.yml') diff --git a/e2e/cypress/tests/11-activity-feed/01-activity-feed.cy.ts b/e2e/cypress/tests/11-activity-feed/01-activity-feed.cy.ts index 6ae592157..ccb75a9a5 100644 --- a/e2e/cypress/tests/11-activity-feed/01-activity-feed.cy.ts +++ b/e2e/cypress/tests/11-activity-feed/01-activity-feed.cy.ts @@ -96,8 +96,6 @@ describe('Verify the Activity filter for users', () => { before(() => { cy.visit('/') - // cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { diff --git a/e2e/cypress/tests/11-activity-feed/02-activity-feed-failure.cy.ts b/e2e/cypress/tests/11-activity-feed/02-activity-feed-failure.cy.ts index c6fd120ab..a9ad76d3b 100644 --- a/e2e/cypress/tests/11-activity-feed/02-activity-feed-failure.cy.ts +++ b/e2e/cypress/tests/11-activity-feed/02-activity-feed-failure.cy.ts @@ -20,8 +20,6 @@ describe('Make the access request for invalid profile', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -56,8 +54,6 @@ describe('Make the access request for invalid profile', () => { // }) after(() => { cy.logout() - cy.clearLocalStorage({log:true}) - cy.deleteAllCookies() }) }) @@ -73,8 +69,6 @@ describe('Create API, Product, and Authorization Profiles; Apply Auth Profiles t before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -123,7 +117,5 @@ describe('Create API, Product, and Authorization Profiles; Apply Auth Profiles t after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/12-access-permission/01-create-api.cy.ts b/e2e/cypress/tests/12-access-permission/01-create-api.cy.ts index a5488bb92..fd9186e62 100644 --- a/e2e/cypress/tests/12-access-permission/01-create-api.cy.ts +++ b/e2e/cypress/tests/12-access-permission/01-create-api.cy.ts @@ -42,7 +42,7 @@ describe('Create API Spec', () => { it('create namespace using gwa cli command', () => { var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); - cy.exec('gwa namespace create --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { assert.isNotNaN(response.stdout) namespace = response.stdout cy.replaceWordInJsonObject('ns.permission', 'ns.' + namespace, 'service-permission-gwa.yml') diff --git a/e2e/cypress/tests/12-access-permission/04-access-manager.cy.ts b/e2e/cypress/tests/12-access-permission/04-access-manager.cy.ts index 9a22515ea..0e71be9d6 100644 --- a/e2e/cypress/tests/12-access-permission/04-access-manager.cy.ts +++ b/e2e/cypress/tests/12-access-permission/04-access-manager.cy.ts @@ -42,8 +42,6 @@ describe('Grant Access Manager Role', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -58,7 +56,6 @@ describe('Verify that Mark is able to view the pending request', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -91,11 +88,7 @@ describe('Verify that Mark is able to view the pending request', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() cy.resetCredential('Mark') cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/12-access-permission/05-namespace-manage.cy.ts b/e2e/cypress/tests/12-access-permission/05-namespace-manage.cy.ts index 79fa205cc..93f743788 100644 --- a/e2e/cypress/tests/12-access-permission/05-namespace-manage.cy.ts +++ b/e2e/cypress/tests/12-access-permission/05-namespace-manage.cy.ts @@ -14,7 +14,6 @@ describe('Grant Namespace Manage Role', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -48,8 +47,6 @@ describe('Grant Namespace Manage Role', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -64,7 +61,6 @@ describe('Verify that Wendy is able to see all the options for the Namespace', ( before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -94,11 +90,7 @@ describe('Verify that Wendy is able to see all the options for the Namespace', ( after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() cy.resetCredential('Wendy') cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/12-access-permission/06-credential-issuer.cy.ts b/e2e/cypress/tests/12-access-permission/06-credential-issuer.cy.ts index 5903a618a..1998de81a 100644 --- a/e2e/cypress/tests/12-access-permission/06-credential-issuer.cy.ts +++ b/e2e/cypress/tests/12-access-permission/06-credential-issuer.cy.ts @@ -13,7 +13,6 @@ describe('Grant Credential Issuer Role', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -46,8 +45,6 @@ describe('Grant Credential Issuer Role', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -62,7 +59,6 @@ describe('Verify that Wendy is able to generate authorization profile', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) diff --git a/e2e/cypress/tests/12-access-permission/07-namespace-view.cy.ts b/e2e/cypress/tests/12-access-permission/07-namespace-view.cy.ts index 05f1621cc..dafef02e6 100644 --- a/e2e/cypress/tests/12-access-permission/07-namespace-view.cy.ts +++ b/e2e/cypress/tests/12-access-permission/07-namespace-view.cy.ts @@ -45,8 +45,6 @@ describe('Grant Namespace View Role to Mark', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -60,7 +58,6 @@ describe('Verify that Mark is unable to create service account', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -107,11 +104,7 @@ describe('Verify that Mark is unable to create service account', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() cy.resetCredential('Mark') cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/12-access-permission/08-gateway-config.cy.ts b/e2e/cypress/tests/12-access-permission/08-gateway-config.cy.ts index ec94ec380..3021c5e61 100644 --- a/e2e/cypress/tests/12-access-permission/08-gateway-config.cy.ts +++ b/e2e/cypress/tests/12-access-permission/08-gateway-config.cy.ts @@ -48,8 +48,6 @@ describe('Grant Gateway Config Role to Wendy', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -64,7 +62,6 @@ describe('Verify that Wendy is able to generate authorization profile', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -97,11 +94,7 @@ describe('Verify that Wendy is able to generate authorization profile', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() cy.resetCredential('Wendy') cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/13-namespace-preview-mode/01-create-api.cy.ts b/e2e/cypress/tests/13-namespace-preview-mode/01-create-api.cy.ts index 42e545761..3e2fd2a42 100644 --- a/e2e/cypress/tests/13-namespace-preview-mode/01-create-api.cy.ts +++ b/e2e/cypress/tests/13-namespace-preview-mode/01-create-api.cy.ts @@ -42,7 +42,7 @@ describe('Create API Spec', () => { it('create namespace using gwa cli command', () => { var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); - cy.exec('gwa namespace create --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { assert.isNotNaN(response.stdout) namespace = response.stdout cy.updateJsonValue('common-testdata.json', 'namespacePreview.namespace', namespace) diff --git a/e2e/cypress/tests/14-org-assignment/01-client-cred-team-access.ts b/e2e/cypress/tests/14-org-assignment/01-client-cred-team-access.ts index 29fc44462..5f6d92d93 100644 --- a/e2e/cypress/tests/14-org-assignment/01-client-cred-team-access.ts +++ b/e2e/cypress/tests/14-org-assignment/01-client-cred-team-access.ts @@ -50,7 +50,7 @@ describe('Add Organization to publish API', () => { it('create namespace using gwa cli command', () => { var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); - cy.exec('gwa namespace create --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { assert.isNotNaN(response.stdout) namespace = response.stdout cy.updateJsonValue('common-testdata.json', 'orgAssignment.namespace', namespace) @@ -131,8 +131,6 @@ describe('Add Organization to publish API', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -144,9 +142,6 @@ describe('Org Admin approves the request', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() - cy.resetState() }) beforeEach(() => { @@ -179,8 +174,6 @@ describe('Org Admin approves the request', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -193,9 +186,6 @@ describe('Activate the API to make it visible in API Directory', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() - cy.resetState() }) beforeEach(() => { @@ -241,8 +231,6 @@ describe('Activate the API to make it visible in API Directory', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -254,8 +242,6 @@ describe('Request service Access Spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -293,8 +279,6 @@ describe('Request service Access Spec', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -305,8 +289,6 @@ describe('Access manager approves developer access request for Kong API ACL auth before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { @@ -348,7 +330,5 @@ describe('Access manager approves developer access request for Kong API ACL auth after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/14-org-assignment/02-multiple-org-admin.ts b/e2e/cypress/tests/14-org-assignment/02-multiple-org-admin.ts index 1abe74e2a..059a70431 100644 --- a/e2e/cypress/tests/14-org-assignment/02-multiple-org-admin.ts +++ b/e2e/cypress/tests/14-org-assignment/02-multiple-org-admin.ts @@ -53,8 +53,6 @@ describe('Give a user org admin access at organization level', () => { after(() => { cy.keycloakLogout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -71,8 +69,6 @@ describe('Multiple Org Adming for the organization', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() cy.resetState() }) @@ -100,7 +96,7 @@ describe('Multiple Org Adming for the organization', () => { it('create namespace using gwa cli command', () => { var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); - cy.exec('gwa namespace create --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { assert.isNotNaN(response.stdout) namespace = response.stdout cy.updateJsonValue('common-testdata.json', 'orgAssignment.namespace', namespace) @@ -147,7 +143,5 @@ describe('Multiple Org Adming for the organization', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/14-org-assignment/03-multiple-org-admin-org-unit.ts b/e2e/cypress/tests/14-org-assignment/03-multiple-org-admin-org-unit.ts index 2fa19e811..193ea09b6 100644 --- a/e2e/cypress/tests/14-org-assignment/03-multiple-org-admin-org-unit.ts +++ b/e2e/cypress/tests/14-org-assignment/03-multiple-org-admin-org-unit.ts @@ -70,8 +70,6 @@ describe('Give a user org admin access at organization unit level', () => { after(() => { cy.keycloakLogout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -88,8 +86,6 @@ describe('Multiple Org Admin for the organization', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() cy.resetState() }) @@ -116,7 +112,7 @@ describe('Multiple Org Admin for the organization', () => { it('create namespace using gwa cli command', () => { var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); - cy.exec('gwa namespace create --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { assert.isNotNaN(response.stdout) namespace = response.stdout cy.updateJsonValue('common-testdata.json', 'orgAssignment.namespace', namespace) diff --git a/e2e/cypress/tests/15-aps-api/01-create-api.cy.ts b/e2e/cypress/tests/15-aps-api/01-create-api.cy.ts index e85a6fff4..0f39c82ec 100644 --- a/e2e/cypress/tests/15-aps-api/01-create-api.cy.ts +++ b/e2e/cypress/tests/15-aps-api/01-create-api.cy.ts @@ -42,7 +42,7 @@ describe('Create API Spec', () => { it('create namespace using gwa cli command', () => { var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); - cy.exec('gwa namespace create --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { assert.isNotNaN(response.stdout) namespace = response.stdout cy.updateJsonValue('common-testdata.json', 'apiTest.namespace', namespace) @@ -69,6 +69,5 @@ describe('Create API Spec', () => { after(() => { cy.logout() cy.clearLocalStorage({log:true}) - cy.deleteAllCookies() }) }) diff --git a/e2e/cypress/tests/15-aps-api/02-organization.cy.ts b/e2e/cypress/tests/15-aps-api/02-organization.cy.ts index 105dba5ad..29bc1df5c 100644 --- a/e2e/cypress/tests/15-aps-api/02-organization.cy.ts +++ b/e2e/cypress/tests/15-aps-api/02-organization.cy.ts @@ -3,6 +3,35 @@ import LoginPage from "../../pageObjects/login" let userSession: any var nameSpace: string +describe('Get the user session token', () => { + + const login = new LoginPage() + const home = new HomePage() + + before(() => { + cy.visit('/') + cy.deleteAllCookies() + cy.reload() + // cy.getUserSessionTokenValue() + }) + + beforeEach(() => { + cy.preserveCookies() + cy.fixture('apiowner').as('apiowner') + cy.fixture('common-testdata').as('common-testdata') + // cy.visit(login.path) + }) + + it('authenticates Janis (api owner) to get the user session token', () => { + cy.get('@common-testdata').then(({ apiTest }: any) => { + cy.getUserSessionTokenValue(apiTest.namespace).then((value) => { + userSession = value + }) + }) + }) +}) + + describe('API Tests to verify the Organization details in the response', () => { beforeEach(() => { @@ -62,33 +91,6 @@ describe('Verify /Organization/{Org} end point', () => { }) }) -describe('Get the user session token', () => { - - const login = new LoginPage() - const home = new HomePage() - - before(() => { - cy.visit('/') - cy.deleteAllCookies() - cy.reload() - // cy.getUserSessionTokenValue() - }) - - beforeEach(() => { - cy.preserveCookies() - cy.fixture('apiowner').as('apiowner') - cy.fixture('common-testdata').as('common-testdata') - cy.visit(login.path) - }) - - it('authenticates Janis (api owner) to get the user session token', () => { - cy.get('@common-testdata').then(({ apiTest }: any) => { - cy.getUserSessionTokenValue(apiTest.namespace).then((value) => { - userSession = value - }) - }) - }) -}) describe('Get the Organization Role', () => { @@ -262,7 +264,5 @@ describe('Add and Get Organization Access', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/15-aps-api/05-authorizationProfiles.cy.ts b/e2e/cypress/tests/15-aps-api/05-authorizationProfiles.cy.ts index 256295862..d60901552 100644 --- a/e2e/cypress/tests/15-aps-api/05-authorizationProfiles.cy.ts +++ b/e2e/cypress/tests/15-aps-api/05-authorizationProfiles.cy.ts @@ -100,11 +100,6 @@ testData.forEach((testCase: any) => { }) }) }) - - after(() => { - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() - }) }) describe('API Tests for Authorization Profiles created with inheritFrom attribute set to a valid shared Issuer', () => { @@ -211,8 +206,6 @@ describe('Published a shared authorization profile', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -225,7 +218,6 @@ describe('Deleted shared auth profile', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -264,8 +256,6 @@ describe('Deleted shared auth profile', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -277,7 +267,6 @@ describe('Verify that client ID of deleted shared auth profile in IDP', () => { before(() => { cy.visit(Cypress.env('KEYCLOAK_URL')) - cy.deleteAllCookies() cy.reload() }) diff --git a/e2e/cypress/tests/15-aps-api/06-products.cy.ts b/e2e/cypress/tests/15-aps-api/06-products.cy.ts index b76fcdbd7..52c955747 100644 --- a/e2e/cypress/tests/15-aps-api/06-products.cy.ts +++ b/e2e/cypress/tests/15-aps-api/06-products.cy.ts @@ -97,7 +97,6 @@ describe('Verify that created Product is displayed in UI', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -109,15 +108,6 @@ describe('Verify that created Product is displayed in UI', () => { cy.visit(login.path) }) - it('authenticates Janis (api owner) to get the user session token', () => { - cy.get('@common-testdata').then(({ apiTest }: any) => { - cy.getUserSessionTokenValue(apiTest.namespace).then((value) => { - home.useNamespace(apiTest.namespace) - userSession = value - }) - }) - }) - it('Verify that the product is visible in Manage Product Page', () => { cy.visit(pd.path) cy.get('@api').then(({ products }: any) => { diff --git a/e2e/cypress/tests/16-gwa-cli/01-cli-commands.ts b/e2e/cypress/tests/16-gwa-cli/01-cli-commands.ts index 28be88935..0031c0e07 100644 --- a/e2e/cypress/tests/16-gwa-cli/01-cli-commands.ts +++ b/e2e/cypress/tests/16-gwa-cli/01-cli-commands.ts @@ -77,7 +77,7 @@ describe('Verify CLI commands', () => { }) it('Check gwa command to create namespace', () => { - cy.executeCliCommand('gwa namespace create --host ' + cleanedUrl + ' --scheme http').then((response) => { + cy.executeCliCommand('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http').then((response) => { assert.isNotNaN(response.stdout) namespace = response.stdout }); diff --git a/e2e/cypress/tests/16-gwa-cli/02-cli-generate-config.ts b/e2e/cypress/tests/16-gwa-cli/02-cli-generate-config.ts index 282a3e65f..12a5d5d18 100644 --- a/e2e/cypress/tests/16-gwa-cli/02-cli-generate-config.ts +++ b/e2e/cypress/tests/16-gwa-cli/02-cli-generate-config.ts @@ -21,7 +21,6 @@ describe('Verify CLI commands for generate/apply config', () => { before(() => { // cy.visit('/') - cy.deleteAllCookies() cy.reload() }) @@ -47,7 +46,7 @@ describe('Verify CLI commands for generate/apply config', () => { it('Check gwa command to generate config for client credential template', () => { cy.executeCliCommand('gwa generate-config --template client-credentials-shared-idp --service my-service --upstream https://httpbin.org --org ministry-of-health --org-unit planning-and-innovation-division').then((response) => { - assert.equal(response.stdout, "File gw-config.yml created") + expect(response.stdout).to.contain("File gw-config.yml created") }); }) @@ -87,8 +86,6 @@ describe('Verify CLI commands for generate/apply config', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) \ No newline at end of file diff --git a/e2e/cypress/tests/17-delete-application/03-delete-application-with-approved-request.cy.ts b/e2e/cypress/tests/17-delete-application/03-delete-application-with-approved-request.cy.ts index e94e77f2e..c6f6da735 100644 --- a/e2e/cypress/tests/17-delete-application/03-delete-application-with-approved-request.cy.ts +++ b/e2e/cypress/tests/17-delete-application/03-delete-application-with-approved-request.cy.ts @@ -48,8 +48,6 @@ describe('Delete application which has approved request spec', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -60,8 +58,6 @@ describe('Approve Pending Request Spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() // cy.getServiceOrRouteID('services') // cy.getServiceOrRouteID('routes') }) @@ -96,8 +92,6 @@ describe('Approve Pending Request Spec', () => { after(() => { cy.logout() - cy.clearLocalStorage({ log: true }) - cy.deleteAllCookies() }) }) @@ -110,8 +104,6 @@ describe('Delete application which has approved request spec', () => { before(() => { cy.visit('/') - cy.deleteAllCookies() - cy.reload() }) beforeEach(() => { diff --git a/e2e/cypress/tests/17-delete-application/04-delete-namespace-gwa.ts b/e2e/cypress/tests/17-delete-application/04-delete-namespace-gwa.ts index ac18faa89..e452d6282 100644 --- a/e2e/cypress/tests/17-delete-application/04-delete-namespace-gwa.ts +++ b/e2e/cypress/tests/17-delete-application/04-delete-namespace-gwa.ts @@ -33,7 +33,8 @@ describe('Verify namespace delete using gwa command', () => { }) it('Create namespace using gwa cli command', () => { - cy.executeCliCommand('gwa namespace create').then((response) => { + var cleanedUrl = Cypress.env('BASE_URL').replace(/^http?:\/\//i, ""); + cy.exec('gwa namespace create --generate --host ' + cleanedUrl + ' --scheme http', { timeout: 3000, failOnNonZeroExit: false }).then((response) => { assert.isNotNaN(response.stdout) _namespace = response.stdout }); diff --git a/e2e/package-lock.json b/e2e/package-lock.json index 5df9ae714..b5e216adf 100644 --- a/e2e/package-lock.json +++ b/e2e/package-lock.json @@ -40,7 +40,7 @@ "@types/request": "^2.48.7", "@typescript-eslint/eslint-plugin": "^4.28.1", "@typescript-eslint/parser": "^4.28.1", - "cypress": "^12.4.0", + "cypress": "^13.6.3", "cypress-iframe": "^1.0.1", "cypress-mochawesome-reporter": "^3.2.3", "cypress-slow-down": "^1.2.1", @@ -1957,9 +1957,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/@cypress/request": { - "version": "2.88.10", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", - "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", @@ -1975,9 +1975,9 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "~6.5.2", + "qs": "6.10.4", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", + "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" }, @@ -1999,6 +1999,45 @@ "node": ">= 0.12" } }, + "node_modules/@cypress/request/node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@cypress/request/node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@cypress/request/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/@cypress/webpack-preprocessor": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz", @@ -3832,9 +3871,9 @@ } }, "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, "engines": { "node": ">= 6" @@ -3943,15 +3982,14 @@ "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "node_modules/cypress": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.4.0.tgz", - "integrity": "sha512-//h93K/yGC/7pxv1KamlkADbKHLp5h3f9rZDE2McRjXZDagMETH0sXowOOanvhsH8cFt/JWspIcK+p9cuaoAqg==", + "version": "13.6.3", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.3.tgz", + "integrity": "sha512-d/pZvgwjAyZsoyJ3FOsJT5lDsqnxQ/clMqnNc++rkHjbkkiF2h9s0JsZSyyH4QXhVFW3zPFg82jD25roFLOdZA==", "dev": true, "hasInstallScript": true, "dependencies": { - "@cypress/request": "^2.88.10", + "@cypress/request": "^3.0.0", "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", @@ -3963,10 +4001,10 @@ "check-more-types": "^2.24.0", "cli-cursor": "^3.1.0", "cli-table3": "~0.6.1", - "commander": "^5.1.0", + "commander": "^6.2.1", "common-tags": "^1.8.0", "dayjs": "^1.10.4", - "debug": "^4.3.2", + "debug": "^4.3.4", "enquirer": "^2.3.6", "eventemitter2": "6.4.7", "execa": "4.1.0", @@ -3981,12 +4019,13 @@ "listr2": "^3.8.3", "lodash": "^4.17.21", "log-symbols": "^4.0.0", - "minimist": "^1.2.6", + "minimist": "^1.2.8", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", + "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.3.2", + "semver": "^7.5.3", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", @@ -3996,7 +4035,7 @@ "cypress": "bin/cypress" }, "engines": { - "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, "node_modules/cypress-iframe": { @@ -4136,12 +4175,6 @@ "resolved": "https://registry.npmjs.org/cypress-xpath/-/cypress-xpath-1.6.2.tgz", "integrity": "sha512-mtwJPl840GQPGtb480fKR5vDIcijBHhAVwby5/AIPIT/UVT7UJhM2L42/R+venR7N01I0PoOJErb6UiMbCyUxg==" }, - "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", - "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==", - "dev": true - }, "node_modules/cypress/node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -4166,10 +4199,33 @@ "ieee754": "^1.1.13" } }, + "node_modules/cypress/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/cypress/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/cypress/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -7332,10 +7388,13 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { "version": "3.3.6", @@ -8765,6 +8824,14 @@ "once": "^1.3.1" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, "node_modules/qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", @@ -8773,6 +8840,12 @@ "node": ">=0.6" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -9106,6 +9179,12 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "node_modules/resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -10007,14 +10086,6 @@ "node": ">=0.8" } }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, "node_modules/tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -10293,12 +10364,14 @@ "punycode": "^2.1.0" } }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, "node_modules/util-deprecate": { @@ -12112,9 +12185,9 @@ } }, "@cypress/request": { - "version": "2.88.10", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", - "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -12130,9 +12203,9 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "~6.5.2", + "qs": "6.10.4", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", + "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" }, @@ -12147,6 +12220,33 @@ "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true } } }, @@ -13560,9 +13660,9 @@ } }, "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true }, "common-tags": { @@ -13651,14 +13751,13 @@ "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "cypress": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.4.0.tgz", - "integrity": "sha512-//h93K/yGC/7pxv1KamlkADbKHLp5h3f9rZDE2McRjXZDagMETH0sXowOOanvhsH8cFt/JWspIcK+p9cuaoAqg==", + "version": "13.6.3", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.3.tgz", + "integrity": "sha512-d/pZvgwjAyZsoyJ3FOsJT5lDsqnxQ/clMqnNc++rkHjbkkiF2h9s0JsZSyyH4QXhVFW3zPFg82jD25roFLOdZA==", "dev": true, "requires": { - "@cypress/request": "^2.88.10", + "@cypress/request": "^3.0.0", "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", @@ -13670,10 +13769,10 @@ "check-more-types": "^2.24.0", "cli-cursor": "^3.1.0", "cli-table3": "~0.6.1", - "commander": "^5.1.0", + "commander": "^6.2.1", "common-tags": "^1.8.0", "dayjs": "^1.10.4", - "debug": "^4.3.2", + "debug": "^4.3.4", "enquirer": "^2.3.6", "eventemitter2": "6.4.7", "execa": "4.1.0", @@ -13688,24 +13787,19 @@ "listr2": "^3.8.3", "lodash": "^4.17.21", "log-symbols": "^4.0.0", - "minimist": "^1.2.6", + "minimist": "^1.2.8", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", + "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.3.2", + "semver": "^7.5.3", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", "yauzl": "^2.10.0" }, "dependencies": { - "@types/node": { - "version": "14.18.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", - "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==", - "dev": true - }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -13716,10 +13810,25 @@ "ieee754": "^1.1.13" } }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -16211,9 +16320,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, "minipass": { @@ -17272,11 +17381,22 @@ "once": "^1.3.1" } }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + }, "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -17536,6 +17656,12 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -18205,13 +18331,6 @@ "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } } }, "tsconfig-paths": { @@ -18414,13 +18533,16 @@ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, "util-deprecate": { diff --git a/e2e/package.json b/e2e/package.json index 9ed7e4bb4..f1dfe23c7 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -31,7 +31,7 @@ "@types/request": "^2.48.7", "@typescript-eslint/eslint-plugin": "^4.28.1", "@typescript-eslint/parser": "^4.28.1", - "cypress": "^12.4.0", + "cypress": "^13.6.3", "cypress-iframe": "^1.0.1", "cypress-mochawesome-reporter": "^3.2.3", "cypress-slow-down": "^1.2.1",