[ 
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)

Reply via email to