diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index aa50bfa..a28cb07 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -32,9 +32,6 @@ jobs: - name: Setup kubectl uses: azure/setup-kubectl@v4 - - name: Setup Helm - uses: azure/setup-helm@v4 - - name: Install dependencies run: npm ci @@ -61,8 +58,6 @@ jobs: env: HEADLAMP_URL: ${{ env.HEADLAMP_URL }} HEADLAMP_TOKEN: ${{ env.HEADLAMP_TOKEN }} - AUTHENTIK_USERNAME: ${{ secrets.AUTHENTIK_USERNAME }} - AUTHENTIK_PASSWORD: ${{ secrets.AUTHENTIK_PASSWORD }} - name: Teardown E2E instance if: always() diff --git a/e2e/auth.setup.ts b/e2e/auth.setup.ts index 817f003..2bc6d1d 100644 --- a/e2e/auth.setup.ts +++ b/e2e/auth.setup.ts @@ -39,13 +39,16 @@ async function authenticateWithOIDC(page: Page, username: string, password: stri } async function authenticateWithToken(page: Page, token: string): Promise { - // Navigate to login — Headlamp redirects / to /c/main/login await page.goto('/'); - await page.waitForURL('**/login'); + // Headlamp goes to /token directly when no OIDC is configured, + // or through /login when OIDC is configured + await page.waitForURL(/\/(login|token)$/); - // Click the token auth option - await page.getByRole('button', { name: /use a token/i }).click(); - await page.waitForURL('**/token'); + if (page.url().includes('/login')) { + // OIDC login page — click "use a token" to reach token auth + await page.getByRole('button', { name: /use a token/i }).click(); + await page.waitForURL('**/token'); + } // Fill the "ID token" field and submit await page.getByRole('textbox', { name: /id token/i }).fill(token);