diff --git a/.releaserc.js b/.releaserc.js index f24249cada..7ccabf26de 100644 --- a/.releaserc.js +++ b/.releaserc.js @@ -1,7 +1,7 @@ module.exports = { branches: [ - {name: 'main'}, - {name: 'next'}, + { name: 'main' }, + { name: 'next' }, ], plugins: [ "@semantic-release/commit-analyzer" diff --git a/e2e/config/host.docker.internal/zitadel.yaml b/e2e/config/host.docker.internal/zitadel.yaml index 12979c9fe6..ff3ecc76e4 100644 --- a/e2e/config/host.docker.internal/zitadel.yaml +++ b/e2e/config/host.docker.internal/zitadel.yaml @@ -1,5 +1,5 @@ Log: - Level: debug + Level: info ExternalDomain: host.docker.internal ExternalSecure: false @@ -33,7 +33,10 @@ LogStore: Quotas: Access: ExhaustedCookieKey: "zitadel.quota.limiting" - ExhaustedCookieMaxAge: "60s" + ExhaustedCookieMaxAge: "600s" + +Console: + InstanceManagementURL: "https://example.com/instances/{{.InstanceID}}" Projections: Customizations: diff --git a/e2e/config/localhost/zitadel.yaml b/e2e/config/localhost/zitadel.yaml index 7ba4182d92..e53061218d 100644 --- a/e2e/config/localhost/zitadel.yaml +++ b/e2e/config/localhost/zitadel.yaml @@ -1,5 +1,5 @@ Log: - Level: debug + Level: info ExternalDomain: localhost ExternalSecure: false @@ -33,7 +33,10 @@ LogStore: Quotas: Access: ExhaustedCookieKey: "zitadel.quota.limiting" - ExhaustedCookieMaxAge: "60s" + ExhaustedCookieMaxAge: "600s" + +Console: + InstanceManagementURL: "https://example.com/instances/{{.InstanceID}}" Projections: Customizations: diff --git a/e2e/cypress/e2e/quotas/quotas.cy.ts b/e2e/cypress/e2e/quotas/quotas.cy.ts index 805779fb7c..ada1431057 100644 --- a/e2e/cypress/e2e/quotas/quotas.cy.ts +++ b/e2e/cypress/e2e/quotas/quotas.cy.ts @@ -94,7 +94,7 @@ describe('quotas', () => { }); }); - it('authenticated requests are limited', () => { + it('only authenticated requests are limited', () => { cy.get>('@authenticatedUrls').then((urls) => { cy.get('@ctx').then((ctx) => { const start = new Date(); @@ -109,9 +109,9 @@ describe('quotas', () => { }); expectCookieDoesntExist(); const expiresMax = new Date(); - expiresMax.setMinutes(expiresMax.getMinutes() + 2); + expiresMax.setMinutes(expiresMax.getMinutes() + 20); cy.request({ - url: urls[0], + url: urls[1], method: 'GET', auth: { bearer: ctx.api.token, @@ -129,7 +129,19 @@ describe('quotas', () => { createHumanUser(ctx.api, testUserName, false).then((res) => { expect(res.status).to.equal(429); }); + // visit limited console + cy.visit('/users/me'); + cy.contains('#authenticated-requests-exhausted-dialog button', 'Continue').click(); + const upgradeInstancePage = `https://example.com/instances/${ctx.instanceId}`; + cy.origin(upgradeInstancePage, { args: { upgradeInstancePage } }, ({ upgradeInstancePage }) => { + cy.location('href').should('equal', upgradeInstancePage); + }); + // upgrade instance ensureQuotaIsRemoved(ctx, Unit.AuthenticatedRequests); + // visit upgraded console again + cy.visit('/users/me'); + cy.get('[data-e2e="top-view-title"]'); + expectCookieDoesntExist(); createHumanUser(ctx.api, testUserName); expectCookieDoesntExist(); }); diff --git a/e2e/package.json b/e2e/package.json index 3490c1e35f..45ae558b54 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -8,6 +8,8 @@ "e2e:golang": "npm run e2e --", "open:golangangular": "CYPRESS_BASE_URL=http://localhost:4200 CYPRESS_BACKEND_URL=http://localhost:8080 npm run open --", "e2e:golangangular": "CYPRESS_BASE_URL=http://localhost:4200 CYPRESS_BACKEND_URL=http://localhost:8080 npm run e2e --", + "open:angulargolang": "npm run open:golangangular --", + "e2e:angulargolang": "npm run e2e:golangangular --", "open:angular": "CYPRESS_BASE_URL=http://localhost:4200 CYPRESS_BACKEND_URL=http://localhost:8080 CYPRESS_WEBHOOK_HANDLER_HOST=host.docker.internal npm run open --", "e2e:angular": "CYPRESS_BASE_URL=http://localhost:4200 CYPRESS_BACKEND_URL=http://localhost:8080 CYPRESS_WEBHOOK_HANDLER_HOST=host.docker.internal npm run e2e --", "lint": "prettier --check cypress",