Skip to content

Conversation

@claymore666
Copy link

@claymore666 claymore666 commented Oct 3, 2025

Fixes #22

Add LocalStack integration for local S3 testing

  • Add LocalStack Docker Compose configuration for S3 emulation
  • Add automatic bucket creation on LocalStack startup (ceti-data, ceti-data-test, ceti-dev)
  • Add pytest fixtures for S3 testing (LocalStack or real AWS)
  • Add 9 integration tests for S3 upload and deduplication
  • Update ceti modules to support AWS_ENDPOINT_URL for LocalStack
  • Add LocalStack warning message in s3upload CLI
  • Add Makefile targets: test-local, localstack-up/down/clean
  • Update Python dependencies for Python 3.13 compatibility (mypy, boto3)
  • Add comprehensive testing documentation (README.md, docs/TESTING.md)

Tests can now run locally without AWS credentials using 'make test-local'.
LocalStack automatically creates required S3 buckets on startup.
Production workflows remain unchanged - code automatically detects LocalStack
vs real AWS based on AWS_ENDPOINT_URL environment variable.

- Add LocalStack Docker Compose configuration for S3 emulation
- Add automatic bucket creation on LocalStack startup (ceti-data, ceti-data-test, ceti-dev)
- Add pytest fixtures for S3 testing (LocalStack or real AWS)
- Add 9 integration tests for S3 upload and deduplication
- Update ceti modules to support AWS_ENDPOINT_URL for LocalStack
- Add LocalStack warning message in s3upload CLI
- Add Makefile targets: test-local, localstack-up/down/clean
- Update Python dependencies for Python 3.13 compatibility (mypy, boto3)
- Add comprehensive testing documentation (README.md, docs/TESTING.md)

Tests can now run locally without AWS credentials using 'make test-local'.
LocalStack automatically creates required S3 buckets on startup.
Production workflows remain unchanged - code automatically detects LocalStack
vs real AWS based on AWS_ENDPOINT_URL environment variable.
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.

Getting started as a hobby developer

1 participant