# Copyright: (c) 2019, Hetzner Cloud GmbH # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) --- - name: setup ensure volume is absent hcloud_volume: name: "{{ hcloud_volume_name }}" state: absent register: result - name: test gather hcloud volume facts - empty resources hcloud_volume_facts: - name: verify test gather hcloud volume facts - empty resources assert: that: - ansible_facts.hcloud_volume_facts | count == 0 - name: setup volume hcloud_volume: name: "{{hcloud_volume_name}}" size: 10 location: "fsn1" labels: key: value register: main_volume - name: verify setup volume assert: that: - main_volume is changed - name: test gather hcloud volume facts in check mode hcloud_volume_facts: check_mode: yes - name: verify test gather hcloud volume facts in check mode assert: that: - ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1 - name: test gather hcloud volume facts with correct label selector hcloud_volume_facts: label_selector: "key=value" - name: verify test gather hcloud volume with correct label selector assert: that: - ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1 - name: test gather hcloud volume facts with wrong label selector hcloud_volume_facts: label_selector: "key!=value" - name: verify test gather hcloud volume with wrong label selector assert: that: - ansible_facts.hcloud_volume_facts | list | count == 0 - name: test gather hcloud volume facts with correct name hcloud_volume_facts: name: "{{hcloud_volume_name}}" - name: verify test gather hcloud volume with correct name assert: that: - ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1 - name: test gather hcloud volume facts with wrong name hcloud_volume_facts: name: "{{hcloud_volume_name}}1" - name: verify test gather hcloud volume with wrong name assert: that: - ansible_facts.hcloud_volume_facts | list | count == 0 - name: test gather hcloud volume facts with correct id hcloud_volume_facts: id: "{{main_volume.hcloud_volume.id}}" - name: verify test gather hcloud volume with correct id assert: that: - ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1 - name: test gather hcloud volume facts with wrong id hcloud_volume_facts: name: "4711" - name: verify test gather hcloud volume with wrong id assert: that: - ansible_facts.hcloud_volume_facts | list | count == 0 - name: cleanup hcloud_volume: name: "{{ hcloud_volume_name }}" state: absent register: result - name: verify cleanup assert: that: - result is success