Skip to content

feat(floci): add clientless Floci GCP, OCI, AWS, and Azure emulator services - #169

Open
cofin wants to merge 1 commit into
feat/oracle-adb-free-servicefrom
feat/floci-emulators
Open

cofin wants to merge 1 commit into
feat/oracle-adb-free-servicefrom
feat/floci-emulators

Conversation

@cofin

@cofin cofin commented Oct 22, 2026

Copy link
Copy Markdown
Member

Summary

Adds clientless Floci multi-cloud emulator services (floci_gcp_service / gcs_service, floci_oci_service, floci_aws_service / floci_service, and floci_az_service) backed by floci/floci-gcp:latest, floci/floci-oci:latest, floci/floci:latest, and floci/floci-az:latest on gateway port 4566, using stdlib urllib.request for readiness and bucket provisioning without requiring cloud SDKs in the base package.

Key Changes

Floci Multi-Cloud Emulators (pytest_databases.docker.floci)

  • GCP Emulator (floci_gcp_service, gcs_service, FlociGCPService): Emulates Google Cloud Storage (GCS), Pub/Sub, Firestore, Bigtable, KMS, and Secret Manager (floci/floci-gcp:latest), exposing storage_emulator_host, pubsub_emulator_host, and ensure_bucket() (ensure_gcs_bucket).
  • OCI Emulator (floci_oci_service, FlociOCIService): Emulates Oracle Cloud Infrastructure Object Storage, Queue, Vault, Secrets, NoSQL, and Streaming (floci/floci-oci:latest), exposing namespace, region, compartment_id, and ensure_bucket() (ensure_oci_bucket).
  • AWS & Azure Emulators (floci_aws_service, floci_service, floci_az_service): Adds tokenless AWS (floci/floci:latest) and unified Azure (floci/floci-az:latest) emulator fixtures with worker-scoped floci_resource_prefix and xdist_floci_isolation_level.
  • Stdlib HTTP Readiness (check_floci_health): Probes /_floci/health (with fallback to /_localstack/health) over stdlib urllib.request.

Testing, Documentation & CI

  • Unit & Contract Coverage: Adds tests/test_floci.py verifying clientless module imports, health endpoint probing, GCS and OCI bucket creation with HTTP 409 idempotency, and service metadata properties.
  • Documentation & Selective CI: Adds docs/supported-databases/floci.rst and registers floci in .github/ci/provider-groups.json and pyproject.toml.

@codecov-commenter

codecov-commenter commented Oct 22, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 70.68063% with 56 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (feat/oracle-adb-free-service@136e00c). Learn more about missing BASE report.

Files with missing lines Patch % Lines
src/pytest_databases/docker/floci.py 70.68% 51 Missing and 5 partials ⚠️
Additional details and impacted files
@@                      Coverage Diff                       @@
##             feat/oracle-adb-free-service    #169   +/-   ##
==============================================================
  Coverage                                ?   4.54%           
==============================================================
  Files                                   ?      30           
  Lines                                   ?    3519           
  Branches                                ?     287           
==============================================================
  Hits                                    ?     160           
  Misses                                  ?    3354           
  Partials                                ?       5           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cofin
cofin marked this pull request as draft October 22, 2026 02:52
@cofin
cofin changed the base branch from feat/podman-support to feat/oracle-adb-free-service October 22, 2026 03:58
@cofin
cofin force-pushed the feat/floci-emulators branch from 6eac642 to 90e27fe Compare October 22, 2026 03:59
@cofin
cofin added this pull request to stack #173 October 22, 2026 05:10
@cofin
cofin force-pushed the feat/floci-emulators branch from 90e27fe to 82bdd62 Compare October 22, 2026 17:30
@cofin
cofin force-pushed the feat/floci-emulators branch from 82bdd62 to ac3338b Compare October 22, 2026 20:09
@cofin
cofin force-pushed the feat/floci-emulators branch from ac3338b to bcf8582 Compare October 22, 2026 23:07
@cofin
cofin marked this pull request as ready for review October 22, 2026 23:29
@cofin
cofin force-pushed the feat/floci-emulators branch from bcf8582 to e4c4985 Compare October 23, 2026 20:33
@cofin
cofin force-pushed the feat/floci-emulators branch from e4c4985 to 2857485 Compare October 29, 2026 14:20

This branch has not been deployed

No deployments
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