[
https://issues.apache.org/jira/browse/CAMEL-26613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino updated CAMEL-26613:
-------------------------------------
Description:
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_
was:
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-azure-storage-datalake, camel-azure-cosmosdb, camel-azure-key-vault,
camel-azure-eventhubs, camel-azure-servicebus, camel-azure-eventgrid and
camel-azure-functions. 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_
> 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)