Files
odysseus/tests/e2e
Alexandre Teixeira 2e1c2a343a merge(dev): reconcile photo editor security and upstream changes
- Reconcile conflict resolution in routes/editor_agent_routes.py and src/editor_agent_model.py
- Enforce strict server-authorized endpoint resolution and reject client URL overrides
- Enforce bearer-token privilege separation: delegated API tokens are capped at non-admin scope per src/tool_security.py and cannot inspect private base URLs or probe metadata
- Preserve chat-scope authorization, missing-session 401 rejection, and owner-scoped browser bridge/SSE queues
- Preserve administrator-disabled-tool denylist enforcement introduced by PR #6357
- Fix mobile toolbar flyout hit-testing and stacking context trapping on viewports <= 700px via scoped elevation and mask suppression
- Stabilize project recovery test fixture by awaiting document draft quiescence prior to baseline capture
2026-10-28 19:30:08 +00:00
..

Browser End-to-End Tests

The photo editor release gate launches an isolated Odysseus server on port 7013 with a temporary SQLite database and disposable authenticated account.

npm install
npm run test:photo-editor:install
npm run test:photo-editor

Set PHOTO_EDITOR_E2E_PORT to use another port. Failure screenshots and traces are written to test-results/photo-editor/. The server uses the repository .venv automatically; set ODYSSEUS_TEST_PYTHON to another Python executable when using a different environment layout.

The disposable account is created in the temporary data directory and exercises owner-scoped draft and notification routes without using an existing account. PHOTO_EDITOR_E2E_AUTH=0 selects the legacy unauthenticated configuration for investigating it; offline-upgrade coverage requires the authenticated mode.