Add tests for rax_cbs_attachments
This commit is contained in:
parent
5e00e72f7a
commit
74f4d186cc
3 changed files with 259 additions and 0 deletions
|
@ -28,3 +28,6 @@
|
|||
|
||||
- role: test_rax_cbs
|
||||
tags: test_rax_cbs
|
||||
|
||||
- role: test_rax_cbs_attachments
|
||||
tags: test_rax_cbs_attachments
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
dependencies:
|
||||
- prepare_tests
|
||||
- prepare_rax_tests
|
253
test/integration/roles/test_rax_cbs_attachments/tasks/main.yml
Normal file
253
test/integration/roles/test_rax_cbs_attachments/tasks/main.yml
Normal file
|
@ -0,0 +1,253 @@
|
|||
# ============================================================
|
||||
- name: Test rax_cbs_attachments with no args
|
||||
rax_cbs_attachments:
|
||||
ignore_errors: true
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate results of rax_cbs_attachments with no args
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|failed
|
||||
- rax_cbs_attachments.msg == 'missing required arguments: server,volume,device'
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: Test rax_cbs_attachments with server, volume and device
|
||||
rax_cbs_attachments:
|
||||
server: '1234'
|
||||
volume: '1234'
|
||||
device: /dev/xvde
|
||||
ignore_errors: true
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate results of rax_cbs_attachments with server, volume and device
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|failed
|
||||
- rax_cbs_attachments.msg == 'No credentials supplied!'
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: Test rax_cbs_attachments with credentials, server, volume and device
|
||||
rax_cbs_attachments:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
server: '1234'
|
||||
volume: '1234'
|
||||
device: /dev/xvde
|
||||
ignore_errors: true
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate results of rax_cbs_attachments with credentials, server, volume and device
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|failed
|
||||
- rax_cbs_attachments.msg.startswith('None is not a valid region')
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: Test rax_cbs_attachments with creds, region, invalid server, invalid volume and device
|
||||
rax_cbs_attachments:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
server: '1234'
|
||||
volume: '1234'
|
||||
device: /dev/xvde
|
||||
ignore_errors: true
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate rax_cbs_attachments creds, region, invalid server, invalid volume and device
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|failed
|
||||
- rax_cbs_attachments.msg == 'No matching storage volumes were found'
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: Build Volume for rax_cbs_attachments test
|
||||
rax_cbs:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
name: "{{ resource_prefix }}-rax_cbs_attachments"
|
||||
wait: true
|
||||
register: rax_cbs
|
||||
|
||||
- name: Validate volume build
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs|success
|
||||
- rax_cbs|changed
|
||||
- rax_cbs.volume.display_name == "{{ resource_prefix }}-rax_cbs_attachments"
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: Build CloudServer for rax_cbs_attachments tests
|
||||
rax:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
image: "{{ rackspace_image_id }}"
|
||||
flavor: "{{ rackspace_flavor }}"
|
||||
name: "{{ resource_prefix }}-rax_cbs_attachments"
|
||||
wait: true
|
||||
register: rax
|
||||
|
||||
- name: Validate CloudServer build
|
||||
assert:
|
||||
that:
|
||||
- rax|success
|
||||
- rax|changed
|
||||
- rax.action == 'create'
|
||||
- rax.instances|length == 1
|
||||
- rax.instances[0].name == "{{ resource_prefix }}-rax_cbs_attachments"
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: Test rax_cbs_attachments with creds, region, invalid server, volume and device
|
||||
rax_cbs_attachments:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
server: '1234'
|
||||
volume: "{{ rax_cbs.volume.id }}"
|
||||
device: /dev/xvde
|
||||
ignore_errors: true
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate rax_cbs_attachments creds, region, invalid server, volume and device
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|failed
|
||||
- rax_cbs_attachments.msg == 'No Server was matched by name, try using the Server ID instead'
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: Test rax_cbs_attachments with creds, region, server, volume and device (valid)
|
||||
rax_cbs_attachments:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
server: "{{ rax.instances[0].id }}"
|
||||
volume: "{{ rax_cbs.volume.id }}"
|
||||
device: /dev/xvde
|
||||
wait: true
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate rax_cbs_attachments creds, region, server, volume and device (valid)
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|success
|
||||
- rax_cbs_attachments|changed
|
||||
- rax_cbs_attachments.volume.attachments.0.device == '/dev/xvde'
|
||||
- rax_cbs_attachments.volume.attachments.0.server_id == "{{ rax.instances[0].id }}"
|
||||
|
||||
- name: Idempotent present test
|
||||
rax_cbs_attachments:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
server: "{{ rax.instances[0].id }}"
|
||||
volume: "{{ rax_cbs.volume.id }}"
|
||||
device: /dev/xvde
|
||||
wait: true
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate idempotent present test
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|success
|
||||
- not rax_cbs_attachments|changed
|
||||
|
||||
- name: Unattach volume
|
||||
rax_cbs_attachments:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
server: "{{ rax.instances[0].id }}"
|
||||
volume: "{{ rax_cbs.volume.id }}"
|
||||
device: /dev/xvde
|
||||
wait: true
|
||||
state: absent
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate unattach volume
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|success
|
||||
- rax_cbs_attachments|changed
|
||||
- rax_cbs_attachments.volume.attachments == []
|
||||
|
||||
- name: Idempotent absent test
|
||||
rax_cbs_attachments:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
server: "{{ rax.instances[0].id }}"
|
||||
volume: "{{ rax_cbs.volume.id }}"
|
||||
device: /dev/xvde
|
||||
wait: true
|
||||
state: absent
|
||||
register: rax_cbs_attachments
|
||||
|
||||
- name: Validate idempotent absent test
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs_attachments|success
|
||||
- not rax_cbs_attachments|changed
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: Delete test volume
|
||||
rax_cbs:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
name: "{{ rax_cbs.volume.id }}"
|
||||
state: absent
|
||||
register: rax_cbs
|
||||
|
||||
- name: Validate delete integration 6
|
||||
assert:
|
||||
that:
|
||||
- rax_cbs|success
|
||||
- rax_cbs|changed
|
||||
# ============================================================
|
||||
|
||||
|
||||
|
||||
# ============================================================
|
||||
- name: "Delete CloudServer"
|
||||
rax:
|
||||
username: "{{ rackspace_username }}"
|
||||
api_key: "{{ rackspace_api_key }}"
|
||||
region: "{{ rackspace_region }}"
|
||||
instance_ids: "{{ rax.instances[0].id }}"
|
||||
state: absent
|
||||
wait: true
|
||||
register: rax
|
||||
|
||||
- name: "Validate delete"
|
||||
assert:
|
||||
that:
|
||||
- rax|changed
|
||||
- rax|success
|
||||
- rax.action == 'delete'
|
||||
# ============================================================
|
Loading…
Reference in a new issue