diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d07c574..d3eae0b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -68,6 +68,19 @@ jobs: ports: - 6379:6379 options: --entrypoint redis-server + aws: + image: redis + env: + SERVICES: sqs + MINISTACK_HOST: aws + healthcheck: + test: ["CMD", "wget", "-qO-", "http://localhost:4566/_ministack/ready"] + interval: 2s + retries: 15 + ports: + - 4566:4566 + volumes: + - ./containers/ministack:/docker-entrypoint-initaws.d steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} @@ -85,6 +98,11 @@ jobs: env: MONGO_HOST: "127.0.0.1" REDIS_HOST: "127.0.0.1" + AWS_ENDPOINT_URL: http://aws:4566 + AWS_REGION: "us-east-1" + AWS_ACCESS_KEY_ID: "test" + AWS_SECRET_ACCESS_KEY: "test" + AWS_DEFAULT_REGION: "us-east-1" - name: Upload to coveralls run: | python -m pip install coveralls diff --git a/containers/localstack/init.sh b/containers/localstack/init.sh deleted file mode 100755 index 332fd90..0000000 --- a/containers/localstack/init.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# Note that this file needs to have the executable bit set for it to work with later localstack implementations. - -export DEFAULT_REGION=us-west-2 - -create_sqs() { - QUEUE_NAME="$1" - TIMEOUT=${2:-60} - DL_QUEUE_URL=$(awslocal sqs create-queue --queue-name "dl-$QUEUE_NAME" --query QueueUrl --output text) - echo ">>> Created $DL_QUEUE_URL queue!" - DL_QUEUE_ARN=$(awslocal sqs get-queue-attributes --queue-url "$DL_QUEUE_URL" --attribute-names QueueArn --query Attributes.QueueArn --output text) - awslocal sqs create-queue --queue-name "$QUEUE_NAME" --attributes '{ - "RedrivePolicy": "{\"deadLetterTargetArn\": \"'"$DL_QUEUE_ARN"'\",\"maxReceiveCount\":\"3\"}", - "VisibilityTimeout": "'"$TIMEOUT"'" - }' -} - -# Create SQS queues -create_sqs testing \ No newline at end of file diff --git a/containers/ministack/ready.d/01-create-resources.sh b/containers/ministack/ready.d/01-create-resources.sh new file mode 100644 index 0000000..065f239 --- /dev/null +++ b/containers/ministack/ready.d/01-create-resources.sh @@ -0,0 +1 @@ +aws sqs create-queue --queue-name testing diff --git a/test-services-docker-compose.yaml b/test-services-docker-compose.yaml index c0b48d6..26bde5c 100644 --- a/test-services-docker-compose.yaml +++ b/test-services-docker-compose.yaml @@ -15,20 +15,18 @@ services: aws: container_name: aws - image: localstack/localstack:3.4.0 + image: ministackorg/ministack:1.4.16 ports: - - "127.0.0.1:4566:4566" # LocalStack Gateway - - "127.0.0.1:4510-4559:4510-4559" # External services port range + - "127.0.0.1:4566:4566" environment: - AWS_DEFAULT_REGION: ${AWS_DEFAULT_REGION:-us-west-2} - DEFAULT_REGION: ${AWS_DEFAULT_REGION:-us-west-2} - SQS_ENDPOINT_STRATEGY: path + MINISTACK_HOST: aws SERVICES: sqs - LOCALSTACK_HOST: aws - DEBUG: 1 - LS_LOG: trace volumes: - - ./containers/localstack:/etc/localstack/init/ready.d + - ./containers/ministack:/docker-entrypoint-initaws.d + healthcheck: + test: ["CMD", "wget", "-qO-", "http://localhost:4566/_ministack/ready"] + interval: 2s + retries: 15 networks: - main @@ -38,10 +36,10 @@ services: context: . environment: AWS_ENDPOINT_URL: http://aws:4566 - AWS_REGION: ${AWS_REGION:-us-west-2} + AWS_REGION: ${AWS_REGION:-us-east-1} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-test} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-test} - AWS_DEFAULT_REGION: ${AWS_DEFAULT_REGION:-us-west-2} + AWS_DEFAULT_REGION: ${AWS_DEFAULT_REGION:-us-east-1} volumes: - .:/app depends_on: