1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-04 08:01:49 +00:00
hetzner.hcloud/tests/integration/targets/firewall_info/tasks/test.yml
Jonas L 2757fe745f
feat: improve firewall resources management (#324)
##### SUMMARY

  - firewall - Return resources the firewall is `applied_to`.
- firewall_info - Add new `firewall_info` module to gather firewalls
info.
- firewall_resource - Add new `firewall_resource` module to manage
firewalls resources.

Fixes #111

##### ISSUE TYPE

- Feature Pull Request


##### COMPONENT NAME

firewall
firewall_info
firewall_resource

---------

Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>
2024-02-01 16:50:13 +01:00

93 lines
3.3 KiB
YAML

# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: Gather hcloud_firewall_info
hetzner.hcloud.firewall_info:
register: result
- name: Verify hcloud_firewall_info
ansible.builtin.assert:
that:
- result.hcloud_firewall_info | list | count >= 1
- name: Gather hcloud_firewall_info in check mode
hetzner.hcloud.firewall_info:
check_mode: true
register: result
- name: Verify hcloud_firewall_info in check mode
ansible.builtin.assert:
that:
- result.hcloud_firewall_info | list | count >= 1
- name: Gather hcloud_firewall_info with correct id
hetzner.hcloud.firewall_info:
id: "{{ test_firewall.hcloud_firewall.id }}"
register: result
- name: Verify hcloud_firewall_info with correct id
ansible.builtin.assert:
that:
- result.hcloud_firewall_info | list | count == 1
- result.hcloud_firewall_info[0].name == hcloud_firewall_name
- result.hcloud_firewall_info[0].labels.key == "value"
- result.hcloud_firewall_info[0].rules | list | count == 1
- result.hcloud_firewall_info[0].rules[0].description == "allow icmp from anywhere"
- result.hcloud_firewall_info[0].rules[0].direction == "in"
- result.hcloud_firewall_info[0].rules[0].protocol == "icmp"
- result.hcloud_firewall_info[0].rules[0].source_ips == ["0.0.0.0/0", "::/0"]
- result.hcloud_firewall_info[0].applied_to | list | count == 2
- >
result.hcloud_firewall_info[0].applied_to
| selectattr('type', 'equalto', 'label_selector')
| list | count == 1
- >
result.hcloud_firewall_info[0].applied_to
| selectattr('type', 'equalto', 'server')
| list | count == 1
- name: Gather hcloud_firewall_info with wrong id
hetzner.hcloud.firewall_info:
id: "{{ test_firewall.hcloud_firewall.id }}4321"
ignore_errors: true
register: result
- name: Verify hcloud_firewall_info with wrong id
ansible.builtin.assert:
that:
- result is failed
- name: Gather hcloud_firewall_info with correct name
hetzner.hcloud.firewall_info:
name: "{{ hcloud_firewall_name }}"
register: result
- name: Verify hcloud_firewall_info with correct name
ansible.builtin.assert:
that:
- result.hcloud_firewall_info | list | count == 1
- name: Gather hcloud_firewall_info with wrong name
hetzner.hcloud.firewall_info:
name: "{{ hcloud_firewall_name }}-invalid"
register: result
- name: Verify hcloud_firewall_info with wrong name
ansible.builtin.assert:
that:
- result.hcloud_firewall_info | list | count == 0
- name: Gather hcloud_firewall_info with correct label selector
hetzner.hcloud.firewall_info:
label_selector: "key=value"
register: result
- name: Verify hcloud_firewall_info with correct label selector
ansible.builtin.assert:
that:
- >
result.hcloud_firewall_info
| selectattr('name', 'equalto', hcloud_firewall_name)
| list | count == 1
- name: Gather hcloud_firewall_info with wrong label selector
hetzner.hcloud.firewall_info:
label_selector: "key!=value"
register: result
- name: Verify hcloud_firewall_info with wrong label selector
ansible.builtin.assert:
that:
- result.hcloud_firewall_info | list | count == 0