fix: use token auth in E2E workflow, handle direct /token redirect
The E2E Headlamp instance is deployed without OIDC configuration, so Headlamp redirects / → /token directly instead of / → /login. The authenticateWithToken function was hardcoded to expect /login first, causing a 60s timeout on every run. - e2e.yaml: remove unused Setup Helm step (deploy script uses kubectl) - e2e.yaml: remove AUTHENTIK_USERNAME/PASSWORD (no OIDC in E2E instance) - auth.setup.ts: waitForURL accepts both /login and /token; only clicks "use a token" if landed on /login (OIDC-configured Headlamp) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+8
-5
@@ -39,13 +39,16 @@ async function authenticateWithOIDC(page: Page, username: string, password: stri
|
||||
}
|
||||
|
||||
async function authenticateWithToken(page: Page, token: string): Promise<void> {
|
||||
// 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);
|
||||
|
||||
Reference in New Issue
Block a user