AGENTS.md@tests/e2e_cuj · git:20261006.717f70b · 2026-10-06 · sha256 3a8c8899755f83c5

AGENTS.md@tests/e2e_cuj git:20261006.717f70bA

Immutable. This exact content never changes and is served at /api/v1/blob/3a8c8899755f83c5.

# Dedicated-workspace CUJs

Each CUJ owns a separate workspace. Subclass `BaseCujTest` from `base.py` and set
`WORKSPACE_URL`. Setup provides `self.workspace`, a Databricks SDK client using
`UG_CUJ_SP_CLIENT_ID` and `UG_CUJ_SP_CLIENT_SECRET` with OAuth M2M authentication.
Do not share the workspace between concurrent runs. No stubbed configuration.

Run from the repository root:
`uv run pytest --confcutdir=tests/e2e_cuj tests/e2e_cuj`.
This keeps the parent suite's mocked fixtures out of CUJs. There are no tests yet.

Use `helpers/tui_request_recorder.py` when a CUJ must assert the real HTTP requests
made by an interactive agent. Start one recorder per test, configure the test's
isolated `ug` session with the recorder URL, and keep the CUJ's workspace URL as
the recorder's upstream. Use sequence checkpoints to separate fresh TUI sessions.
Assert individual JSON fields through `RecordedRequest.payload`, for example
`request.payload["task"]["prompt"] == expected_prompt`. Raw bytes remain available
as `RecordedRequest.body`. Authorization, cookie, and token headers are redacted.
Use `recorder.response_for(request)` to inspect the status, headers, or JSON
payload returned in response to that exact request.