feat(web): integration hub audit links + dashboard tips + e2e
Sprint SPRINT_20260415_002_FE_integration_audit_links_and_dashboard_tips. - integration-hub: integration-detail component + spec with audit links. - dashboard-v3: component + specs (core/testing + tests/dashboard) with getting-started tips. - audit-log: audit-log-table component + spec. - policy-governance: client + scope helper. - deploy-diff: panel + page + service. - graph: graph-filters component. - jobengine: scheduler-workers-panel component. - reachability: reachability-center + witness page components. - release-investigation: release-investigation-context. - E2E: audit-consolidation, integrations, policy-orchestrator specs + live-auth fixture; live-frontdoor-auth script + playwright outputs. - Utility scripts: debug-auth, probe-services, scan-pages. - package.json tweaks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
import { chromium } from 'playwright';
|
||||
|
||||
const BASE = 'http://127.1.0.5';
|
||||
const USERNAME = process.env.STELLAOPS_FRONTDOOR_USERNAME?.trim()
|
||||
|| process.env.STELLAOPS_ADMIN_USER?.trim()
|
||||
|| 'admin';
|
||||
const PASSWORD = process.env.STELLAOPS_FRONTDOOR_PASSWORD?.trim()
|
||||
|| process.env.STELLAOPS_ADMIN_PASS?.trim();
|
||||
|
||||
const routes = [
|
||||
'/security',
|
||||
@@ -27,6 +32,10 @@ const routes = [
|
||||
];
|
||||
|
||||
(async () => {
|
||||
if (!PASSWORD) {
|
||||
throw new Error('Set STELLAOPS_FRONTDOOR_PASSWORD or STELLAOPS_ADMIN_PASS before running this script.');
|
||||
}
|
||||
|
||||
const browser = await chromium.launch({ headless: true });
|
||||
const context = await browser.newContext({ ignoreHTTPSErrors: true });
|
||||
const page = await context.newPage();
|
||||
@@ -50,8 +59,8 @@ const routes = [
|
||||
const usernameInput = page.locator('input[name="Username"], input[name="username"], input[type="text"]').first();
|
||||
const passwordInput = page.locator('input[name="Password"], input[name="password"], input[type="password"]').first();
|
||||
|
||||
await usernameInput.fill('admin', { timeout: 5000 });
|
||||
await passwordInput.fill('Admin@Stella2026!');
|
||||
await usernameInput.fill(USERNAME, { timeout: 5000 });
|
||||
await passwordInput.fill(PASSWORD);
|
||||
|
||||
const loginBtn = page.locator('button[type="submit"], button:has-text("Log in"), button:has-text("Login"), button:has-text("Sign in")').first();
|
||||
await loginBtn.click();
|
||||
|
||||
Reference in New Issue
Block a user