Skip to main content

Test boundaries

Unit tests inject explicit collaborators at function boundaries. Shipped runtime code has no provider-success fixture mode: Gemini and official publisher calls either execute with real credentials or fail visibly. Firestore and Pub/Sub emulators exercise durable state and delivery locally; they do not constitute provider or deployment evidence.

Emulator-based workflow

scripts/dev.sh pins both emulators to fixed ports and exports:
The worker consumes stage triggers through a pull loop against the Pub/Sub emulator — the same dispatch path as the Cloud Run push receiver in production.

Test suites

Worker tests set non-secret dummy configuration via agent/tests/conftest.py and inject provider responses only inside individual tests.

Useful local endpoints

Internal routes require service authentication plus workspace and brand headers. Dashboard routes require a verified Google session and derive the workspace from server-side membership. Cloud Storage direct uploads require bucket CORS to permit the deployed web origin to PUT the allowed content types and expose resumable-upload response headers. The application never sends Cloud Storage credentials to the browser; it returns only the single-object resumable session URL. With GCS_BUCKET unset, the authenticated local upload route stores bytes in .data/artifacts.
Last modified on August 28, 2026