Integration Readiness Smoke¶
This smoke verifies the generic integration-readiness path without calling any external provider.
Run¶
For machine-readable output:
Scenario¶
The script uses a neutral analytics connector:
integration_id:analytics_providerprovider:hosted_analytics- purpose: send usage events to an external analytics API
- secret field:
api_key - frontend-safe fields:
endpoint_url,workspace_id
Expected Output¶
The smoke should print PASS and include:
blocked_status: needs_configurationready_status: ready- one
integration.requiredrequest secret_fields[0].name: api_keynon_secret_fields:endpoint_url,workspace_id- connector
public_configwith only frontend-safe fields
The submitted secret must not appear anywhere in stdout.
What It Validates¶
- A required connector starts missing.
- The readiness checkpoint blocks before prompting.
- The workflow UI-tool request is shaped as
integration.required. - A simulated UI response submits secret and non-secret setup.
- The connector service stores the secret through the vault abstraction.
- The connector store persists only safe
public_config. - A readiness recheck returns
ready. - Generated output references the connector id and contains no raw secret.
Troubleshooting¶
- If the smoke reports
blocked_before_prompt: false, the required integration was not detected from the plan/task fixture. - If
emitted_integration_requiredis false, the UI-tool request path did not run. - If
readiness_ready_after_submitis false, connector inventory did not see the saved connector. - If the submitted secret appears in output, treat it as a redaction regression and do not run a live external-provider smoke until fixed.
This script is intentionally local and deterministic. A separate live AG2 smoke can layer on top once the full browser/runtime harness is needed.