Research-Stack/4-Infrastructure/k3s-flake/tests/jf-branding.spec.ts
Brandon Schneider 7e41e620cc feat(jellyfin): SSO-Auth plugin active, branding configured
- SSO-Auth plugin Active with Authentik OIDC provider
- SSO redirect endpoint verified (302 -> auth.researchstack.info)
- Login disclaimer and custom CSS for SSO button
- All 22+ services operational with HTTPS

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

30 lines
1.2 KiB
TypeScript

import { test } from '@playwright/test';
test('branding', async ({ page }) => {
test.setTimeout(60000);
await page.goto('http://100.88.57.96:30091/web/', { timeout: 15000 });
await page.waitForTimeout(2000);
// Login
await page.locator('#txtUsername').fill('admin');
await page.locator('#txtPassword').fill('jellyfin-admin');
await page.locator('.button-submit').first().click();
await page.waitForTimeout(3000);
// Navigate to settings
await page.goto('http://100.88.57.96:30091/web/#/dashboard/general', { timeout: 15000 });
await page.waitForTimeout(3000);
// Fill and save
const ta = page.locator('textarea').first();
if (await ta.isVisible()) {
await ta.fill('<form action="https://media.researchstack.info/sso/OID/start/authentik"><button class="raised block emby-button button-submit">Sign in with SSO</button></form>');
}
const ta2 = page.locator('textarea').nth(1);
if (await ta2.isVisible()) {
await ta2.fill('a.raised.emby-button { padding:0.9em 1em; color:inherit!important; }.disclaimerContainer { display:block; }');
}
await page.locator('.button-submit').first().click();
await page.waitForTimeout(2000);
console.log('Done');
});