Updated module to be compliant with test cases.

* Added integration tests
* Added unit tests

Originally from ansible/ansible-modules-extras@ee523be26c
This commit is contained in:
Allen Sanabria 2016-03-28 20:38:52 -07:00 committed by Matt Clay
parent 71819c0a60
commit 157f631941
2 changed files with 77 additions and 0 deletions

View file

@ -0,0 +1 @@
test_subnet_id: 'subnet-123456789'

View file

@ -0,0 +1,76 @@
- name: Launching NAT Gateway and allocate a new eip.
ec2_vpc_nat_gateway:
region: us-west-2
state: present
subnet_id: "{{ test_subnet_id }}"
wait: yes
wait_timeout: 600
register: nat
- debug:
var: nat
- fail:
msg: "Failed to create"
when: '"{{ nat["changed"] }}" != "True"'
- name: Launch a new gateway only if one does not exist already in this subnet.
ec2_vpc_nat_gateway:
if_exist_do_not_create: yes
region: us-west-2
state: present
subnet_id: "{{ test_subnet_id }}"
wait: yes
wait_timeout: 600
register: nat_idempotent
- debug:
var: nat_idempotent
- fail:
msg: "Failed to be idempotent"
when: '"{{ nat_idempotent["changed"] }}" == "True"'
- name: Launching NAT Gateway and allocate a new eip even if one already exists in the subnet.
ec2_vpc_nat_gateway:
region: us-west-2
state: present
subnet_id: "{{ test_subnet_id }}"
wait: yes
wait_timeout: 600
register: new_nat
- debug:
var: new_nat
- fail:
msg: "Failed to create"
when: '"{{ new_nat["changed"] }}" != "True"'
- name: Launching NAT Gateway with allocation id, this call is idempotent and will not create anything.
ec2_vpc_nat_gateway:
allocation_id: eipalloc-1234567
region: us-west-2
state: present
subnet_id: "{{ test_subnet_id }}"
wait: yes
wait_timeout: 600
register: nat_with_eipalloc
- debug:
var: nat_with_eipalloc
- fail:
msg: 'Failed to be idempotent.'
when: '"{{ nat_with_eipalloc["changed"] }}" == "True"'
- name: Delete the 1st nat gateway and do not wait for it to finish
ec2_vpc_nat_gateway:
region: us-west-2
nat_gateway_id: "{{ nat.nat_gateway_id }}"
state: absent
- name: Delete the nat_with_eipalloc and release the eip
ec2_vpc_nat_gateway:
region: us-west-2
nat_gateway_id: "{{ new_nat.nat_gateway_id }}"
release_eip: yes
state: absent
wait: yes
wait_timeout: 600