ansible/test/integration/targets/sqs_queue/tasks/main.yml
Mark Chappell da30e6d2e1
sqs_queue - Move to boto3 and add support for various extra features (#66795)
* reworked sqs_queue

* Switch default purge_tags behaviour to false.

This matches the behaviour of ec2_tag and ecs_tag.

* Minor lint / review fixups

* Add missing AWS IAM policy for SQS tests

* Move integration tests to using module_defaults: group/aws:...

* add changelog

* Break out the 'compatability' map from our spec definition (gets flagged by the schema validation)

* Tweaks based on review

* add basic examples

* Lint fixups

* Switch out NonExistentQueue logic so it's easier to follow

* Reorder name argument options for consistency

Co-authored-by: Dennis Podkovyrin <dennis.podkovyrin@gmail.com>
2020-02-27 15:26:20 -07:00

106 lines
3.4 KiB
YAML

---
- name: Main test block
module_defaults:
group/aws:
aws_access_key: "{{ aws_access_key }}"
aws_secret_key: "{{ aws_secret_key }}"
security_token: "{{ security_token | default(omit) }}"
region: "{{ aws_region }}"
block:
- block:
- name: Test creating SQS queue
sqs_queue:
name: "{{ resource_prefix }}{{ 1000 | random }}"
register: create_result
- name: Assert SQS queue created
assert:
that:
- create_result.changed
- create_result.region == "{{ aws_region }}"
always:
- name: Test deleting SQS queue
sqs_queue:
name: "{{ create_result.name }}"
state: absent
register: delete_result
retries: 3
delay: 3
until: delete_result.changed
- name: Assert SQS queue deleted
assert:
that:
- delete_result.changed
- name: Test delete SQS queue that doesn't exist
sqs_queue:
name: "{{ resource_prefix }}{{ 1000 | random }}"
state: absent
register: delete_result
- name: Assert delete non-existant queue returns cleanly
assert:
that:
- delete_result.changed == False
- name: Test queue features
block:
- name: Test create queue with attributes
sqs_queue:
name: "{{ resource_prefix }}{{ 1000 | random }}"
default_visibility_timeout: 900
delivery_delay: 900
maximum_message_size: 9009
message_retention_period: 900
receive_message_wait_time: 10
policy:
Version: "2012-10-17"
Statement:
Effect: Allow
Action: "*"
register: create_result
- name: Assert queue created with configuration
assert:
that:
- create_result.changed
- create_result.default_visibility_timeout == 900
- create_result.delivery_delay == 900
- create_result.maximum_message_size == 9009
- create_result.message_retention_period == 900
- create_result.receive_message_wait_time == 10
- create_result.policy.Version == "2012-10-17"
- create_result.policy.Statement[0].Effect == "Allow"
- create_result.policy.Statement[0].Action == "*"
always:
- name: Cleaning up queue
sqs_queue:
name: "{{ create_result.name }}"
state: absent
register: delete_result
retries: 3
delay: 3
until: delete_result.changed
- name: Test queue with redrive
block:
- name: Creating dead letter queue
sqs_queue:
name: "{{ resource_prefix }}{{ 1000 | random }}"
register: dead_letter_queue
- name: Test create queue with redrive_policy
sqs_queue:
name: "{{ resource_prefix }}{{ 1000 | random }}"
redrive_policy:
maxReceiveCount: 5
deadLetterTargetArn: "{{ dead_letter_queue.queue_arn }}"
register: create_result
- name: Assert queue created with configuration
assert:
that:
- create_result.changed
always:
- name: Cleaning up queue
sqs_queue:
name: "{{ item.name }}"
state: absent
register: delete_result
retries: 3
delay: 3
with_items:
- { name: "{{ create_result.name }}" }
- { name: "{{ dead_letter_queue.name }}" }