From 47a0d625dc29e221375f9020eaa1a8f62694f3c9 Mon Sep 17 00:00:00 2001 From: Sagi Shnaidman Date: Tue, 16 Jun 2020 18:45:28 +0300 Subject: [PATCH] Add tests for volume_info module Add tests for volume_info Change-Id: I8f30eed2a9d5183d0d38a89a7d39e34f7e7c2212 --- ci/roles/volume/tasks/main.yml | 3 + ci/roles/volume/tasks/volume_info.yml | 122 ++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 ci/roles/volume/tasks/volume_info.yml diff --git a/ci/roles/volume/tasks/main.yml b/ci/roles/volume/tasks/main.yml index 515061a9..2419fb10 100644 --- a/ci/roles/volume/tasks/main.yml +++ b/ci/roles/volume/tasks/main.yml @@ -62,3 +62,6 @@ cloud: "{{ cloud }}" state: absent display_name: ansible_volume + +- include_tasks: volume_info.yml + diff --git a/ci/roles/volume/tasks/volume_info.yml b/ci/roles/volume/tasks/volume_info.yml new file mode 100644 index 00000000..2abcc120 --- /dev/null +++ b/ci/roles/volume/tasks/volume_info.yml @@ -0,0 +1,122 @@ +- name: Get info about volumes + openstack.cloud.volume_info: + cloud: "{{ cloud }}" + all_projects: true + register: delete + +- name: Clean up volumes before the test + openstack.cloud.volume: + cloud: "{{ cloud }}" + state: absent + display_name: "{{ vol.name }}" + loop: "{{ delete.volumes }}" + loop_control: + loop_var: vol + +- name: Create volume + openstack.cloud.volume: + cloud: "{{ cloud }}" + state: present + size: 1 + display_name: ansible_test + display_description: testci + register: vol + +- name: Get info about volumes + openstack.cloud.volume_info: + cloud: "{{ cloud }}" + details: true + all_projects: true + register: info + +- name: Check info + assert: + that: + - info.volumes | selectattr("description", "equalto", "testci") | list | length == 1 + - info.volumes.0.name == 'ansible_test' + - info.volumes.0.status == 'available' + +- name: Get not detailed info about volumes + openstack.cloud.volume_info: + cloud: "{{ cloud }}" + details: false + all_projects: true + register: info1 + +- name: Check info + assert: + that: + - info1.volumes | selectattr("id", "equalto", "{{ info.volumes.0.id }}") | list | length == 1 + - info1.volumes.0.name == 'ansible_test' + - info1.volumes.0.status == None + +- name: Get info about volumes with name + openstack.cloud.volume_info: + cloud: "{{ cloud }}" + details: false + name: ansible_test + all_projects: true + register: info2 + +- name: Check info + assert: + that: + - info2.volumes | length == 1 + - info2.volumes.0.name == 'ansible_test' + +- name: Get info about volumes with non-existent name + openstack.cloud.volume_info: + cloud: "{{ cloud }}" + details: false + name: nothing_here + all_projects: true + register: info3 + +- name: Check info + assert: + that: + - info3.volumes | length == 0 + +- name: Get info about volumes + openstack.cloud.volume_info: + cloud: "{{ cloud }}" + details: false + name: ansible_test + all_projects: true + register: info4 + +- name: Check info + assert: + that: + - info4.volumes | length == 1 + - info4.volumes.0.name == 'ansible_test' + +- name: Get info about volumes not from all projects + openstack.cloud.volume_info: + cloud: "{{ cloud }}" + details: false + name: ansible_test + register: info4a + +- name: Check info + assert: + that: + - info4a.volumes | length == 1 + - info4a.volumes.0.name == 'ansible_test' + +- name: Delete volume + openstack.cloud.volume: + cloud: "{{ cloud }}" + state: absent + display_name: ansible_test + +- name: Get info when no volumes + openstack.cloud.volume_info: + cloud: "{{ cloud }}" + all_projects: true + register: info5 + +- name: Check info + assert: + that: + - info5.volumes | selectattr("name", "equalto", "ansible_test") | list | length == 0