Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- PHOENIX_ALERT_WEBHOOK_URL: POST on alerts when firing - .env.example: PROXMOX_*, PROMETHEUS_*, webhooks, partner keys - PHOENIX_SITE24X7_API_KEYS.md: how to issue API keys for Site24x7 - PHOENIX_E2E_PORTAL_API_RAILING.md: E2E test steps and references Made-with: Cursor
1.7 KiB
1.7 KiB
E2E: Portal → Phoenix API → Railing
Purpose: How to run and extend E2E tests for the flow: Portal (browser) → Sankofa Phoenix API → Phoenix Deploy API (railing).
Flow
- User signs in to Portal (NextAuth / Keycloak).
- Portal calls Sankofa API with
Authorization: Bearer <accessToken>(or session cookie). - Sankofa API proxies
/api/v1/infra/*,/api/v1/ve/*,/api/v1/health/*toPHOENIX_RAILING_URLwhen set. - Tenant-scoped routes (
/api/v1/tenants/me/resources,/api/v1/tenants/me/health) use JWT or X-API-Key tenant context.
Manual E2E
- Start Phoenix Deploy API:
cd phoenix-deploy-api && npm start(optional: set PROXMOX_* for live data). - Start Sankofa API: set
PHOENIX_RAILING_URL=http://localhost:4001, thennpm run dev. - Start Portal: set
NEXT_PUBLIC_GRAPHQL_ENDPOINT=http://localhost:4000/graphql(or API URL), thennpm run dev. - Sign in, open Infrastructure page (
/infrastructure), verify nodes/storage load; open Dashboard and verify Phoenix Health tile; open VMs and verify list (if Crossplane or railing VMs are used).
Automated E2E (optional)
- Playwright/Cypress: Add tests that sign in, navigate to
/infrastructure,/vms, dashboard, and assert presence of data or “Loading”/error states. - API-only: Use Sankofa API integration tests: start server with test config,
fetch('/api/v1/health/summary', { headers: { Authorization: 'Bearer <test-jwt>' } })and assert 200 and body shape. Seeapi/src/__tests__/integration/phoenix-railing.test.tsfor tenant-me routes.
References
- PORTAL_RAILING_WIRING.md (in Sankofa repo)
- PHOENIX_API_RAILING_SPEC.md