Research-Stack/4-Infrastructure/k3s-flake/tests/uptime-kuma.spec.ts
Brandon Schneider 9e80ac68ca feat(infra): Jellyfin wizard complete, SSO-Auth plugin files deployed
- Jellyfin setup wizard completed, admin account created (admin/jellyfin-admin)
- SSO-Auth plugin v4.0.0.3 downloaded and placed in plugins directory
- Authentik OIDC provider for Jellyfin updated with correct redirect URI
- All services verified running

Build: 3313 jobs, 0 errors (lake build Compiler)
2026-05-31 14:14:20 -05:00

46 lines
1.5 KiB
TypeScript

import { test, expect } from '@playwright/test';
test('Configure Uptime Kuma Admin', async ({ browser }) => {
const context = await browser.newContext({ storageState: 'auth-state.json' });
const page = await context.newPage();
console.log('Navigating to Uptime Kuma...');
await page.goto('https://uptime.researchstack.info/');
await page.waitForLoadState('networkidle');
await page.waitForTimeout(4000);
if (page.url().includes('default-provider-authorization-explicit-consent')) {
await page.locator('button:has-text("Continue"), input[type="submit"]').first().click();
await page.waitForTimeout(4000);
}
console.log('Current URL:', page.url());
if (page.url().includes('/setup')) {
console.log('Filling setup wizard form...');
const usernameInput = page.locator('#floatingInput');
await expect(usernameInput).toBeVisible();
await usernameInput.fill('admin');
const passwordInput = page.locator('#floatingPassword');
await passwordInput.fill('RY03KhsFez73K5va2uUb');
const repeatInput = page.locator('#repeat');
await repeatInput.fill('RY03KhsFez73K5va2uUb');
// Click Create
console.log('Clicking Create...');
const createBtn = page.locator('button[type="submit"]');
await createBtn.click();
await page.waitForTimeout(5000);
} else {
console.log('Already past setup page.');
}
await page.screenshot({ path: 'uptime-kuma-dashboard.png' });
console.log('Final page URL:', page.url());
console.log('Final page title:', await page.title());
await context.close();
});