Skip to content

Add injectable Azure services and local integration coverage - #20328

Merged
pelikhan merged 1 commit into
mainfrom
pelikhan/azure-simulator-integration
Nov 7, 2026
Merged

pelikhan merged 1 commit into
mainfrom
pelikhan/azure-simulator-integration

Conversation

@pelikhan

@pelikhan pelikhan commented Nov 7, 2026

Copy link
Copy Markdown
Collaborator

Direct Azure dependencies need testable boundaries, and the Bicep deployment needs an explicit account of which services can be exercised locally. This adds injectable service contracts and separates genuine simulator coverage from protocol fixtures and deployment-only assertions.

Approach

  • Inventory all 23 resource types across the eight Bicep modules and guard their coverage against the compiled ARM template.
  • Introduce owned Blob, archive ADX query, managed-identity, and hosted archive consumer interfaces. Retain existing deployment, PostgreSQL, Key Vault, and telemetry interfaces and preserve activation, HTTPS, authorization, and destination-acceptance gates.
  • Add separate integration cases for Blob, Queue, Table, PostgreSQL canonical and operational adapters, archive recovery, identity/Key Vault, telemetry, ACR, Container Apps jobs, Functions configuration, and ARM planning. Wire them into the existing Linux Functions harness and CI with explicit dependency preparation.
  • Handle only the exact Blob 409 BlobAlreadyExists response as an existing immutable object, then verify its contents and digest. Unrelated conflicts still fail.

Validation

  • All 14 service cases passed with no skips, using real Azurite and PostgreSQL containers where applicable.
  • Token broker and archive race suites, full server package tests, and focused Go lint passed.
  • Root lint, 58 focused Azure/harness contract tests, shell syntax checks, and compilation of 78 workflows passed.

Coverage limitations

The Linux Functions Core Tools end-to-end harness and optional licensed Kusto engine were not executed on this macOS host. CI is wired to run the complete Functions/service harness. The optional Kusto suite requires explicit operator license acceptance.

Protocol fixtures and deployment assertions do not establish live Azure RBAC, networking, scheduling, managed monitoring, or managed-service durability. No Bicep resources, rollout policy, or generated ARM/lock artifacts are changed.

Inventory Bicep resource coverage, introduce owned Blob, ADX and managed-identity interfaces, and exercise production adapters with local simulators and protocol fixtures. Wire hermetic service cases into the Azure integration harness and CI.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@pelikhan
pelikhan marked this pull request as ready for review November 7, 2026 03:43
@pelikhan
pelikhan requested a review from mnkiefer as a code owner November 7, 2026 03:43
@pelikhan
pelikhan merged commit 642a066 into main Nov 7, 2026
42 checks passed
@pelikhan
pelikhan deleted the pelikhan/azure-simulator-integration branch November 7, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant