Playwright Tests / test-playwright (1, 2) (push) Canceled after 0s
Playwright Tests / test-playwright (2, 2) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Test Backend / test-backend (push) Canceled after 0s
Compose Smoke Test / test-compose (push) Canceled after 0s
Playwright Tests / merge-reports (push) Canceled after 0s
The engine now speaks MCP at /mcp, with a built-in OAuth 2.1 authorization server in front of it: an agent registers itself, sends a human to the browser to approve it, and exchanges the resulting code for a token. PKCE is required, codes are single-use and stored only as hashes, the browser is redirected to the URI that was registered rather than the one asked for, and refresh tokens rotate so that replaying a spent one revokes the whole line. Twenty tools cover reading, building, publishing and running flows, and each one calls the same REST endpoint the dashboard calls, in-process, carrying the caller's own token. That keeps one description of what a flow is and what may be done to it — validation, the draft/publish split, the version check — and means an agent can do nothing a person could not do in the browser. Agent tokens are RS256 with a keypair of their own rather than the secret that signs browser sessions, so deleting the key withdraws every agent without logging anyone out, and deps.decode_token grew the branch that trusting a second issuer will need when the hosted login arrives. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
16 lines
623 B
Python
16 lines
623 B
Python
"""Redirect the suite at its own database.
|
|
|
|
`app.core.db` builds the engine at import time and several modules bind that
|
|
object, so the name has to be in the environment before anything imports the
|
|
settings. Overriding it here — the first module pytest imports for the
|
|
package — keeps a test run from touching the development data.
|
|
"""
|
|
|
|
import os
|
|
|
|
os.environ["POSTGRES_DB"] = "app_test"
|
|
# The MCP session manager can only be entered once per instance, and the suite
|
|
# builds a TestClient — and so a lifespan — per test module. Tests that want the
|
|
# endpoint mount it themselves.
|
|
os.environ["MCP_ENABLED"] = "false"
|