Skip to content

Docs present UseAzureServiceBusTesting() as a shipping API, but it only exists in the test suite #3366

Closed

Description

@jeremydmiller

Summary

Several Azure Service Bus doc pages tell readers to call UseAzureServiceBusTesting() for local development with the emulator, but that extension method is not part of the shipping WolverineFx.AzureServiceBus package — it lives in the test project (src/Transports/Azure/Wolverine.AzureServiceBus.Tests/AzureServiceBusTesting.cs) and depends on the test-infrastructure Servers class for its connection strings. A reader following those pages gets a compile error ('WolverineOptions' does not contain a definition for 'UseAzureServiceBusTesting') with no hint of why.

Where the docs are inconsistent

  • docs/guide/messaging/transports/azureservicebus/emulator.md handles this correctly: its "Creating a Test Helper" section presents the method as a pattern to copy into your own test project, with the full source inline.
  • docs/guide/messaging/transports/azureservicebus/index.md (line ~93): "When using the Azure Service Bus emulator for local development, use UseAzureServiceBusTesting() instead" — reads as a shipping API, no pointer to the helper pattern.
  • docs/guide/messaging/transports/azureservicebus/session-identifiers.md (line ~21) and conventional-routing.md (line ~68): sample code calls the method with no explanation that it must be user-defined.

Suggested fix (either)

  1. Promote the helper into WolverineFx.AzureServiceBus — e.g. a UseAzureServiceBusEmulator(messagingConnectionString, managementConnectionString) (or parameterless with the standard emulator defaults) that sets ManagementConnectionString and returns the configuration for chaining. The delete-all-objects cleanup could stay behind an opt-in flag since it's destructive. Then the docs as written become true.
  2. Or fix the three doc pages to link to emulator.md's "Creating a Test Helper" section and note the method is a copy-paste pattern, not a package API.

Option 1 seems worth considering given how often the emulator path comes up for local dev — the two-connection-string + ManagementConnectionString dance is exactly the kind of boilerplate Wolverine usually hides.

Found while auditing the JasperFx/ai-skills Azure Service Bus content, which had picked up the same "call UseAzureServiceBusTesting()" phrasing from index.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions