Skip to content

Conversation

@jmfloreszazo
Copy link

@jmfloreszazo jmfloreszazo commented Dec 30, 2025

Description

This pull request introduces a certification test suite for the Azure Service Bus Queues pub/sub component (pubsub.azure.servicebus.queues) in the components-contrib repository.

The goal is to provide reproducible automated tests that validate both basic and advanced functionality, enabling this component to be promoted from Beta to Stable as required by the project’s certification lifecycle.

The tests cover core pub/sub semantics (competing consumers, multiple subscriptions, queue auto-creation) and outline additional scenarios for resilience, metadata handling, authentication, and edge cases. The suite is intended to run against a real Azure Service Bus namespace using environment variables for configuration.

Documentation (README) is included to explain environment setup and how to execute the tests locally.

Issue reference

#2940 – Azure Service Bus queues pubsub component as stable

Checklist

  • Code compiles correctly
  • Created tests
  • Added a certification test suite for pubsub.azure.servicebus.queues
  • Tests can be run via go test ./components-contrib/tests/conformance/pubsub/azure_servicebus_queues -v
  • Extended the documentation
    • Created README.md inside tests/conformance/pubsub/azure_servicebus_queues/ explaining:
      • required environment variables
      • test plan coverage
      • how to run tests
  • Update Azure Service Bus Queues state from Beta to Stable #4992

Additional Context

Auto-created Queues

The queues used in tests (auto-created) are:

  • certification-pubsub-queue-active
  • certification-pubsub-queue-passive
  • certification-queue-per-test-run (and variants with UUID suffix used by tests that require unique queues, e.g. certification-queue-per-test-run-)

Quick notes:

  • Tests auto-create queues unless entity management is disabled.
  • The EntityManagement test expects the queue NOT to exist (it uses unique names to avoid collisions).

Environment Variables

The following environment variables are expected when running the certification test suite:

# Basic authentication
export AzureServiceBusConnectionString="Endpoint=sb://<namespace>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<key>"

# Azure AD authentication (for TestServicebusQueuesAuthentication)
export AzureServiceBusNamespace="<namespace>.servicebus.windows.net"
export AzureCertificationTenantId="<tenant-id>"
export AzureCertificationServicePrincipalClientId="<client-id>"
export AzureCertificationServicePrincipalClientSecret="<client-secret>"

Run tests

cd tests/certification/pubsub/azure/servicebus/queues
go test -v -timeout 30m

…ge metadata and multiple queues

Signed-off-by: Jose Maria Flores Zazo <[email protected]>
Adds a wait time to ensure the sidecar is ready before publishing messages.
This improves the reliability of the test by preventing messages from being
sent before the sidecar is fully initialized.

Signed-off-by: Jose Maria Flores Zazo <[email protected]>
…with detailed test cases and prerequisites

Signed-off-by: Jose Maria Flores Zazo <[email protected]>
…ts to avoid interference

Signed-off-by: Jose Maria Flores Zazo <[email protected]>
…essages tests, ensuring unique queues to avoid interference

Signed-off-by: Jose Maria Flores Zazo <[email protected]>
Adds a GPG key file.

This allows users to verify the authenticity of the application and its updates, enhancing security.

Signed-off-by: Jose Maria Flores Zazo <[email protected]>
@jmfloreszazo jmfloreszazo force-pushed the test/asb-queues-certification branch from 4434720 to 743f733 Compare December 30, 2025 11:30
Copy link
Member

@mikeee mikeee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before I review further just this q-

Signed-off-by: Jose Maria Flores Zazo <[email protected]>
@jmfloreszazo jmfloreszazo requested a review from mikeee January 1, 2026 09:56
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.

2 participants