From 84bde7aea654d2d216ae9371d8d536eee29c606b Mon Sep 17 00:00:00 2001 From: Olli Helenius Date: Tue, 1 Oct 2019 13:19:14 +0300 Subject: [PATCH] hcloud_floating_ip_info: create temporary ip in integration tests --- .../hcloud_floating_ip_info/defaults/main.yml | 5 +-- .../hcloud_floating_ip_info/tasks/main.yml | 39 ++++++++++++++++--- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/test/integration/targets/hcloud_floating_ip_info/defaults/main.yml b/test/integration/targets/hcloud_floating_ip_info/defaults/main.yml index 36ec1edb187..2a21de734bd 100644 --- a/test/integration/targets/hcloud_floating_ip_info/defaults/main.yml +++ b/test/integration/targets/hcloud_floating_ip_info/defaults/main.yml @@ -1,6 +1,5 @@ # Copyright: (c) 2019, Hetzner Cloud GmbH # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) --- -hcloud_test_floating_ip_name: "always-there-floating-ip" -hcloud_test_floating_ip_label_selector: "key=value" -hcloud_test_floating_ip_id: 62227 +hcloud_prefix: "tests" +hcloud_floating_ip_name: "{{hcloud_prefix}}-integration" diff --git a/test/integration/targets/hcloud_floating_ip_info/tasks/main.yml b/test/integration/targets/hcloud_floating_ip_info/tasks/main.yml index 9c58f83f1db..9ca1c2a4aee 100644 --- a/test/integration/targets/hcloud_floating_ip_info/tasks/main.yml +++ b/test/integration/targets/hcloud_floating_ip_info/tasks/main.yml @@ -1,10 +1,29 @@ # 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 floating ip is absent + hcloud_floating_ip: + name: "{{ hcloud_floating_ip_name }}" + state: absent + +- name: setup floating ip + hcloud_floating_ip: + name: "{{ hcloud_floating_ip_name }}" + home_location: "fsn1" + type: ipv4 + labels: + key: value + register: test_floating_ip + +- name: verify setup floating ip + assert: + that: + - test_floating_ip is changed + - name: test gather hcloud floating ip infos hcloud_floating_ip_info: register: hcloud_floating_ips -- name: verify test gather hcloud floating ip infos in check mode +- name: verify test gather hcloud floating ip infos assert: that: - hcloud_floating_ips.hcloud_floating_ip_info| list | count >= 1 @@ -27,7 +46,7 @@ - name: verify test gather hcloud floating ip with correct label selector assert: that: - - hcloud_floating_ips.hcloud_floating_ip_info|selectattr('description','equalto','{{ hcloud_test_floating_ip_name }}') | list | count == 1 + - hcloud_floating_ips.hcloud_floating_ip_info|selectattr('name','equalto','{{ test_floating_ip.hcloud_floating_ip.name }}') | list | count == 1 - name: test gather hcloud floating ip infos with wrong label selector hcloud_floating_ip_info: @@ -40,19 +59,29 @@ - name: test gather hcloud floating ip infos with correct id hcloud_floating_ip_info: - id: "{{hcloud_test_floating_ip_id}}" + id: "{{test_floating_ip.hcloud_floating_ip.id}}" register: hcloud_floating_ips - name: verify test gather hcloud floating ip with correct id assert: that: - - hcloud_floating_ips.hcloud_floating_ip_info|selectattr('description','equalto','{{ hcloud_test_floating_ip_name }}') | list | count == 1 + - hcloud_floating_ips.hcloud_floating_ip_info|selectattr('name','equalto','{{ test_floating_ip.hcloud_floating_ip.name }}') | list | count == 1 - name: test gather hcloud floating ip infos with wrong id hcloud_floating_ip_info: - id: "{{hcloud_test_floating_ip_id}}1" + id: "{{test_floating_ip.hcloud_floating_ip.id}}1" register: result ignore_errors: yes - name: verify test gather hcloud floating ip with wrong id assert: that: - result is failed + +- name: cleanup + hcloud_floating_ip: + id: "{{ test_floating_ip.hcloud_floating_ip.id }}" + state: absent + register: result +- name: verify cleanup + assert: + that: + - result is success