Skip to content

Broaden tracked-property provider contract adoption for protected Azure helper scenarios #150

Description

@cwinland

Docs reference: docs/getting-started/testing-guide.md

FastMoq now routes tracked Azure helper property configuration through optional provider extension interfaces instead of hardcoded provider-name checks:

  • IProviderBoundFastMock exposes the creating provider on tracked wrappers
  • ITrackedMockPropertyConfigurator lets a provider opt into FastMoq-owned tracked property configuration

That contract removes the old MockPropertyConfigurationHelper provider-name coupling for providers that implement the interface pair, but the tracked Durable orchestration path still depends on a provider being able to configure the protected TaskOrchestrationContext.LoggerFactory member. The built-in Moq provider supports that today; the built-in NSubstitute and reflection providers do not.

Scope

  • decide whether the current optional-interface contract is sufficient as-is or should grow a dedicated capability flag for tracked protected-member property configuration
  • define and implement the remaining provider work needed to remove the current built-in Moq-only tracked TaskOrchestrationContext limitation
  • document the provider-author requirements so external providers can participate in tracked Azure helper property configuration without editing MockPropertyConfigurationHelper

Acceptance checklist

  • The runtime contract for tracked property configuration is explicit for provider authors, including when IProviderBoundFastMock and ITrackedMockPropertyConfigurator are required.
  • The remaining work to remove the current built-in Moq-only tracked TaskOrchestrationContext limitation is implemented or split into concrete provider-specific follow-up issues.
  • The built-in provider matrix is updated to show which providers support tracked protected-member configuration for Azure helper scenarios.
  • Provider-author documentation explains how custom providers can participate without adding provider-name checks back into MockPropertyConfigurationHelper.
  • Runtime tests cover at least one non-built-in provider or wrapper/decorator provider path that uses the contract successfully for tracked Azure helper property configuration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    api-designPublic API and design evaluation workenhancementNew feature or requestpriorityThis should be worked on before others

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions