[
https://issues.apache.org/jira/browse/CAMEL-26613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-26613 started by Andrea Cosentino.
------------------------------------------------
> camel-test-infra-azure - use Floci AZ instead of Azurite for the Blob and
> Queue services
> ----------------------------------------------------------------------------------------
>
> Key: CAMEL-26613
> URL: https://issues.apache.org/jira/browse/CAMEL-26613
> Project: Camel
> Issue Type: Test
> Components: camel-azure, camel-test-infra
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
> Fix For: 4.24.0
>
>
> The AWS test-infra runs its local services on Floci
> ([https://github.com/floci-io/floci]) since
> [#23404|https://github.com/apache/camel/pull/23404]:
> {{camel-test-infra-aws-v2}} points {{aws.container}} at
> {{mirror.gcr.io/floci/floci}}, and the AWS integration tests run against it.
> Floci AZ ([https://github.com/floci-io/floci-az], MIT) is the Azure emulator
> of the same family. One container answers on port 4577 for Blob (with the
> Data Lake Gen2 DFS API), Queue, Table, Cosmos DB (NoSQL API), Key Vault,
> Event Hubs, Service Bus, Event Grid, Functions and more, and reports its
> state on {{/health}}. The image is mirrored as
> {{mirror.gcr.io/floci/floci-az}} (latest release 0.16.0).
> Today the Azure test-infra emulates only Blob and Queue, with Azurite
> ({{mcr.microsoft.com/azure-storage/azurite:3.37.0}}, {{AzuriteContainer}} in
> {{camel-test-infra-azure-common}}). The integration tests of the other Azure
> components run only against a real Azure subscription.
> h4. Change
> * Add a Floci AZ container to {{camel-test-infra-azure-common}}: image in
> {{container.properties}} ({{mirror.gcr.io/floci/floci-az:0.16.0}}), a wait on
> {{/health}}, the well-known {{devstoreaccount1}} account and key, and the
> per-service endpoints ({{/devstoreaccount1}} for Blob,
> {{/devstoreaccount1-queue}} for Queue).
> * Run the {{storage-blob}} and {{storage-queue}} local services on it instead
> of Azurite, and check the camel-azure-storage-blob and
> camel-azure-storage-queue integration tests against it.
> * Regenerate the test-infra metadata of the catalog ({{camel infra list}}).
> Like Azurite, Floci AZ ships linux/amd64 and linux/arm64 images only, so the
> ppc64le and s390x skips of these modules stay.
> h4. Compatibility
> Floci AZ serves every service on one port. The local Queue endpoint becomes
> {{http://<host>:<port>/devstoreaccount1-queue}} instead of Azurite's
> {{http://<host>:10001/devstoreaccount1}}, so code that builds the Queue URL
> from {{host()}} and {{port()}} (for example the camel-kafka-connector
> {{itests-azure-storage-queue}} module) needs the new path. {{camel infra run
> azure storage-blob}} and {{camel infra run azure storage-queue}} start Floci
> AZ.
> h4. Follow-ups
> One issue for each Azure component without local integration tests:
> * CAMEL-26615: camel-azure-storage-datalake - run the integration tests on
> Floci AZ
> * CAMEL-26616: camel-azure-cosmosdb - run the integration tests on Floci AZ
> * CAMEL-26617: camel-azure-key-vault - run the integration tests on Floci AZ
> * CAMEL-26618: camel-azure-eventhubs - run the integration tests on Floci AZ
> * CAMEL-26619: camel-azure-servicebus - run the integration tests on Floci AZ
> * CAMEL-26620: camel-azure-eventgrid - add integration tests on Floci AZ
> * CAMEL-26621: camel-azure-functions - run the integration tests on Floci AZ
> Floci AZ has no Azure Files or Schema Registry service, so camel-azure-files
> and camel-azure-schema-registry are not covered.
> _Claude Code on behalf of Andrea Cosentino_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)