Skip to content

Commit ae249e4

Browse files
committed
update README
1 parent 1b2620f commit ae249e4

File tree

3 files changed

+78
-52
lines changed

3 files changed

+78
-52
lines changed

README.adoc

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,3 +511,81 @@ For more detailed description of all container image configuration options pleas
511511

512512
* https://quarkus.io/guides/deploying-to-kubernetes
513513
* https://quarkus.io/guides/container-image
514+
515+
== AWS Integration tests
516+
517+
Some modules have option to run integration tests against real AWS services instead of LocalStack emulated services.
518+
The test set executed during build is controlled by `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables. When set, only AWS integration tests are executed,
519+
the rest is ignored.
520+
521+
[source,shell]
522+
----
523+
export AWS_ACCESS_KEY_ID=<access_key_id>
524+
export AWS_SECRET_ACCESS_KEY=<secret_access_key>
525+
526+
mvn test
527+
----
528+
529+
Tests require permissions to AWS services that they are testing. Necessary permission can be provided by
530+
531+
[source,shell]
532+
----
533+
aws iam create-user --user-name eventing-integrations-tests
534+
535+
# s3 sink + aws s3 source
536+
aws iam attach-user-policy --user-name eventing-integrations-tests --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
537+
538+
# sqs sink + eventbridge sink + sns sink + sqs source
539+
aws iam attach-user-policy --user-name eventing-integrations-tests --policy-arn arn:aws:iam::aws:policy/AmazonSQSFullAccess
540+
541+
# eventbridge sink
542+
aws iam attach-user-policy --user-name eventing-integrations-tests --policy-arn arn:aws:iam::aws:policy/AmazonEventBridgeFullAccess
543+
544+
# sns sink
545+
aws iam attach-user-policy --user-name eventing-integrations-tests --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess
546+
547+
# ddb streams source
548+
aws iam attach-user-policy --user-name eventing-integrations-tests --policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess
549+
550+
# list all policies
551+
aws iam list-user-policies --user-name eventing-integrations-tests
552+
553+
# create access key
554+
aws iam create-access-key --user-name eventing-integrations-tests
555+
----
556+
557+
Tests do not clean AWS environment automatically. After tests execution, the AWS can be cleaned by
558+
559+
[source,shell]
560+
----
561+
# ddb streams source
562+
aws dynamodb delete-table --table-name ddb-streams-source
563+
564+
# eventbridge sink
565+
EVENT_BRIDGE_QUEUE_URL=$(aws sqs get-queue-url --queue-name eventbridge-sink-queue)
566+
aws sqs delete-queue --queue-url $EVENT_BRIDGE_QUEUE_URL
567+
aws events remove-targets --rule eventbridge-sink-cdc --ids eventbrindge-sqs-sub
568+
aws events delete-rule --name eventbridge-sink-cdc
569+
570+
# s3 sink
571+
aws s3api delete-bucket --bucket aws3-s3-sink-bucket
572+
573+
# s3 source
574+
aws s3api delete-bucket --bucket aws3-s3-source-bucket
575+
576+
# sns sink
577+
SNS_QUEUE_URL=$(aws sqs get-queue-url --queue-name sns-sink-queue)
578+
aws sqs delete-queue --queue-url $SNS_QUEUE_URL
579+
SNS_TOPIC_ARN=$(aws sns list-topics --query "Topics[?ends_with(TopicArn, 'sns-sink-topic')].TopicArn" --output text)
580+
SNS_SUBSCRIPTION_ARN=$(aws sns list-subscriptions-by-topic --topic-arn "$SNS_TOPIC_ARN" --query "Subscriptions[].SubscriptionArn" --output text)
581+
aws sns unsubscribe --subscription-arn $SNS_SUBSCRIPTION_ARN
582+
aws sns delete-topic --topic-arn $SNS_TOPIC_ARN
583+
584+
# sqs sink
585+
SQS_SINK_QUEUE_URL=$(aws sqs get-queue-url --queue-name sqs-sink-queue)
586+
aws sqs delete-queue --queue-url $SQS_SINK_QUEUE_URL
587+
588+
# sqs source
589+
SQS_SOURCE_QUEUE_URL=$(aws sqs get-queue-url --queue-name sqs-source-queue)
590+
aws sqs delete-queue --queue-url $SQS_SOURCE_QUEUE_URL
591+
----

aws_cleanup.awscli

Lines changed: 0 additions & 30 deletions
This file was deleted.

aws_create_iam_user.awscli

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)