summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMatt Martz <matt@sivel.net>2015-01-19 12:45:52 -0600
committerMatt Martz <matt@sivel.net>2015-02-11 12:59:01 -0600
commit74f4d186cc7816bde8b803d9c524be473ea00890 (patch)
tree00ca6c5450ba0c70749c14e6d2a4c210d64fc01f /test
parent5e00e72f7ada8fe70f5f3818411e5b152308b69a (diff)
downloadansible-74f4d186cc7816bde8b803d9c524be473ea00890.tar.gz
Add tests for rax_cbs_attachments
Diffstat (limited to 'test')
-rw-r--r--test/integration/rackspace.yml3
-rw-r--r--test/integration/roles/test_rax_cbs_attachments/meta/main.yml3
-rw-r--r--test/integration/roles/test_rax_cbs_attachments/tasks/main.yml253
3 files changed, 259 insertions, 0 deletions
diff --git a/test/integration/rackspace.yml b/test/integration/rackspace.yml
index 51f7620a7c..e00f14171d 100644
--- a/test/integration/rackspace.yml
+++ b/test/integration/rackspace.yml
@@ -28,3 +28,6 @@
- role: test_rax_cbs
tags: test_rax_cbs
+
+ - role: test_rax_cbs_attachments
+ tags: test_rax_cbs_attachments
diff --git a/test/integration/roles/test_rax_cbs_attachments/meta/main.yml b/test/integration/roles/test_rax_cbs_attachments/meta/main.yml
new file mode 100644
index 0000000000..a3f85b642e
--- /dev/null
+++ b/test/integration/roles/test_rax_cbs_attachments/meta/main.yml
@@ -0,0 +1,3 @@
+dependencies:
+ - prepare_tests
+ - prepare_rax_tests
diff --git a/test/integration/roles/test_rax_cbs_attachments/tasks/main.yml b/test/integration/roles/test_rax_cbs_attachments/tasks/main.yml
new file mode 100644
index 0000000000..6750105c1e
--- /dev/null
+++ b/test/integration/roles/test_rax_cbs_attachments/tasks/main.yml
@@ -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'
+# ============================================================