Run AWS integration tests using LocalStack:
- •
Check if LocalStack is running:
bashcurl -s http://localhost:4566/_localstack/health 2>/dev/null
- •
If not running, start LocalStack:
bashcd /Users/bri/dev/Trebuchet && docker-compose -f docker-compose.localstack.yml up -d
- •
Wait for LocalStack to be healthy (up to 30 seconds):
bashtimeout 30 bash -c 'until curl -s http://localhost:4566/_localstack/health | grep -q "\"running\""; do sleep 1; done'
- •
Run the AWS integration tests:
bashcd /Users/bri/dev/Trebuchet && swift test --filter TrebuchetAWSTests
- •
Report test results
- •
Ask the user if they want to stop LocalStack:
- •If yes:
docker-compose -f docker-compose.localstack.yml down -v - •If no: Leave it running for further testing
- •If yes:
LocalStack simulates these AWS services:
- •Lambda (function deployment/invocation)
- •DynamoDB (actor state persistence)
- •DynamoDB Streams (real-time state broadcasting)
- •Cloud Map (service discovery)
- •IAM (role management)
- •API Gateway WebSocket (connection management)
For troubleshooting, refer to Tests/TrebuchetAWSTests/README.md