Summary
Create integration tests that exercise the full provisioning extension flow end-to-end: extension connects via gRPC, registers a provisioning provider, azd core resolves it from IoC, and calls all provider methods through the broker with correct request-response correlation and progress streaming.
Parent Epic
Part of #7465 — Provisioning Providers in the AZD Extension Framework
Context
Integration tests validate the complete stack works together — from proto serialization through gRPC transport, MessageBroker correlation, IoC resolution, and type conversion. Can use an in-process test harness or the demo extension.
Detailed Requirements
Test Scenarios
-
Registration Flow
- Extension opens gRPC stream
- Sends
RegisterProvisioningProviderRequest with provider name
- Receives
RegisterProvisioningProviderResponse
- Provider is resolvable from IoC by name
-
Full Lifecycle
- Initialize with project path and options (including Config)
- Call State, get outputs and resources
- Call Deploy, receive progress messages, get deployment result
- Call Preview, receive progress, get preview with changes
- Call Destroy, receive progress, get invalidated env keys
- Call EnsureEnv
- Call Parameters, get parameter list
-
Error Propagation
- Extension provider returns error → core receives typed error
ExtensionError fields preserved across gRPC boundary
-
Progress Streaming
- Deploy sends 5 progress messages before final response
- Core receives all 5 progress callbacks in order
- Request ID matches throughout
-
Stream Lifecycle
- Extension disconnects → broker cleanup
- Context cancellation → graceful shutdown
-
Multiple Providers
- Two extensions register different provider names
- IoC resolves correct provider for each name
Acceptance Criteria
Dependencies
Files
- Create: Integration test file(s) in appropriate test directory
Summary
Create integration tests that exercise the full provisioning extension flow end-to-end: extension connects via gRPC, registers a provisioning provider, azd core resolves it from IoC, and calls all provider methods through the broker with correct request-response correlation and progress streaming.
Parent Epic
Part of #7465 — Provisioning Providers in the AZD Extension Framework
Context
Integration tests validate the complete stack works together — from proto serialization through gRPC transport, MessageBroker correlation, IoC resolution, and type conversion. Can use an in-process test harness or the demo extension.
Detailed Requirements
Test Scenarios
Registration Flow
RegisterProvisioningProviderRequestwith provider nameRegisterProvisioningProviderResponseFull Lifecycle
Error Propagation
ExtensionErrorfields preserved across gRPC boundaryProgress Streaming
Stream Lifecycle
Multiple Providers
Acceptance Criteria
Dependencies
Files