Skip to content

feat: Add Testcontainers.FlociAz module#1

Closed
thomhurst wants to merge 1 commit into
developfrom
feat/flociaz-module
Closed

feat: Add Testcontainers.FlociAz module#1
thomhurst wants to merge 1 commit into
developfrom
feat/flociaz-module

Conversation

@thomhurst

Copy link
Copy Markdown
Owner

What does this PR do?

Adds Testcontainers.FlociAz, a module for floci-az, the floci Azure emulator — complementing the existing Testcontainers.Floci (AWS) module.

floci-az serves its 22 Azure services on a single REST port (4577), routed by URL path suffix (/{account} for blob, /{account}-queue, /{account}-table, /{account}-cosmos, ...), plus Event Hubs (5672) and Service Bus (5673) AMQP endpoints.

The container class exposes:

  • GetConnectionString() — Azurite-format storage connection string (Blob/Queue/Table)
  • GetServiceEndpoint(string service = null) — generic accessor for the path-routed services
  • GetCosmosConnectionString()
  • GetEventHubsEndpoint() / GetServiceBusEndpoint()

The builder binds 4577/5672/5673 and waits on GET /_floci/health.

Why is it important?

floci-az is a separate image (floci/floci-az) with a different port, credential model (Azure account name/key), and connection semantics than the AWS emulator, so it warrants its own package per the one-module-one-image convention.

Related issues

Tests cover Blob upload/download, Queue send/receive, and Table entity round-trips against floci/floci-az:0.9.0 (pinned by digest). The tests use functional operations instead of GetPropertiesAsync due to upstream emulator bugs filed as floci-io/floci-az#131 and floci-io/floci-az#132.

Adds a module for floci-az (https://floci.io/az/), the floci Azure
emulator. Complements the existing Testcontainers.Floci (AWS) module.

The emulator serves all REST services on one port (4577), routed by
path suffix (/{account}, /{account}-queue, /{account}-table, ...),
with Event Hubs and Service Bus AMQP on 5672/5673. The container
exposes an Azurite-format storage connection string, a generic
GetServiceEndpoint(service) for the path-routed services, a Cosmos
connection string, and the AMQP endpoints.
@thomhurst

Copy link
Copy Markdown
Owner Author

Superseded by upstream PR testcontainers#1729

@thomhurst thomhurst closed this Jul 17, 2026
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