Skip to content

feat(localstack): add clientless MiniStack and LocalStack AWS service fixtures - #156

Open
cofin wants to merge 1 commit into
feat/redpanda-servicefrom
feat/localstack-service
Open

cofin wants to merge 1 commit into
feat/redpanda-servicefrom
feat/localstack-service

Conversation

@cofin

@cofin cofin commented Jul 22, 2026 •

Copy link
Copy Markdown
Member

Summary

Adds a clientless AWS service emulator fixture (ministack_service / localstack_service) defaulting to MiniStack (ministackorg/ministack:latest) for active, MIT-licensed, tokenless emulation of AWS services, with drop-in compatibility for LocalStack images and health check probes.

Key Changes

AWS Service Emulator (pytest_databases.docker.localstack)

  • MiniStack Default: Pinned default image to ministackorg/ministack:latest, providing actively maintained, tokenless offline emulation across AWS services without requiring account tokens or paid subscriptions.
  • LocalStack Compatibility: Preserves LocalStackService, localstack_service, and localstack_image fixtures as drop-in aliases with optional LOCALSTACK_AUTH_TOKEN support for commercial image opt-in.
  • Container-Native Readiness: Validates service readiness using an in-container HTTP probe supporting both python3 stdlib urllib.request and curl fallbacks across /_ministack/health and /_localstack/health endpoints.
  • Worker Isolation: Supports shared container execution with per-worker resource prefixes (database isolation) and per-worker containers (server isolation) via xdist_ministack_isolation_level / xdist_localstack_isolation_level.

Testing, Documentation & CI

  • Unit & Integration Coverage: Tests verify clientless module import, MiniStackService and LocalStackService aliases, queue creation, message send/receive/delete round-trips via exec_aws_cli, and pytest-xdist worker isolation.
  • Documentation & Selective CI: Updates docs/supported-databases/localstack.rst and registers ministackorg/ministack:latest in .github/ci/provider-groups.json.

@codecov-commenter

codecov-commenter commented Jul 22, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 64.51613% with 44 lines in your changes missing coverage. Please review.
✅ Project coverage is 3.63%. Comparing base (c0baf33) to head (e9a263f).

Files with missing lines Patch % Lines
src/pytest_databases/docker/localstack.py 64.51% 42 Missing and 2 partials ⚠️
Additional details and impacted files
@@                   Coverage Diff                    @@
##           feat/redpanda-service    #156      +/-   ##
========================================================
+ Coverage                   3.29%   3.63%   +0.33%     
========================================================
  Files                         25      26       +1     
  Lines                       2794    2918     +124     
  Branches                     233     246      +13     
========================================================
+ Hits                          92     106      +14     
- Misses                      2696    2809     +113     
+ Partials                       6       3       -3     

☔ 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 force-pushed the feat/localstack-service branch 2 times, most recently from d5f0601 to b8b036e Compare July 22, 2026 17:05
@Nahuel990

Copy link
Copy Markdown

Why not MiniStack? https://ministack.org

@cofin cofin changed the title feat: add clientless LocalStack service feat(localstack): add clientless LocalStack SQS service Oct 22, 2026
@cofin
cofin force-pushed the feat/localstack-service branch from b8b036e to 6c83196 Compare October 22, 2026 02:22
@cofin
cofin changed the base branch from feat/podman-support to feat/redpanda-service October 22, 2026 03:57
@cofin
cofin force-pushed the feat/localstack-service branch from 6c83196 to f595c98 Compare October 22, 2026 03:58
@cofin
cofin added this pull request to stack #173 October 22, 2026 05:10
@cofin
cofin force-pushed the feat/localstack-service branch from f595c98 to 9f7822d Compare October 22, 2026 17:09
@cofin
cofin force-pushed the feat/localstack-service branch from 9f7822d to 69962d2 Compare October 22, 2026 19:49
@cofin
cofin force-pushed the feat/localstack-service branch from 69962d2 to b133778 Compare October 22, 2026 22:59
@cofin cofin changed the title feat(localstack): add clientless LocalStack SQS service feat(localstack): add clientless MiniStack and LocalStack AWS service fixtures Oct 22, 2026
@cofin
cofin marked this pull request as ready for review October 22, 2026 23:29
@cofin
cofin force-pushed the feat/localstack-service branch from b133778 to 36969f1 Compare October 23, 2026 20:09
@cofin
cofin force-pushed the feat/localstack-service branch from 36969f1 to e9a263f Compare October 29, 2026 14:19

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.

3 participants