69 lines
2 KiB
YAML
69 lines
2 KiB
YAML
|
---
|
||
|
- debug:
|
||
|
msg: "START vyos_firewall_interfaces replaced integration tests on connection={{ ansible_connection }}"
|
||
|
|
||
|
- include_tasks: _remove_config.yaml
|
||
|
|
||
|
- include_tasks: _remove_firewall_config.yaml
|
||
|
|
||
|
- include_tasks: _populate_rule_sets.yaml
|
||
|
|
||
|
- include_tasks: _populate.yaml
|
||
|
|
||
|
- block:
|
||
|
- name: Replace device configurations of listed firewall rules with provided configurations
|
||
|
vyos_firewall_interfaces: &replaced
|
||
|
config:
|
||
|
- name: 'eth1'
|
||
|
access_rules:
|
||
|
- afi: 'ipv4'
|
||
|
rules:
|
||
|
- name: 'OUTBOUND'
|
||
|
direction: 'out'
|
||
|
- afi: 'ipv6'
|
||
|
rules:
|
||
|
- name: 'V6-LOCAL'
|
||
|
direction: 'local'
|
||
|
- name: 'eth2'
|
||
|
access_rules:
|
||
|
- afi: 'ipv4'
|
||
|
rules:
|
||
|
- name: 'INBOUND'
|
||
|
direction: 'in'
|
||
|
state: replaced
|
||
|
register: result
|
||
|
|
||
|
- name: Assert that correct set of commands were generated
|
||
|
assert:
|
||
|
that:
|
||
|
- "{{ replaced['commands'] | symmetric_difference(result['commands']) |length == 0 }}"
|
||
|
|
||
|
- name: Assert that before dicts are correctly generated
|
||
|
assert:
|
||
|
that:
|
||
|
- "{{ populate | symmetric_difference(result['before']) |length == 0 }}"
|
||
|
|
||
|
- name: Assert that after dict is correctly generated
|
||
|
assert:
|
||
|
that:
|
||
|
- "{{ replaced['after'] | symmetric_difference(result['after']) |length == 0 }}"
|
||
|
|
||
|
- name: Replace device configurations of listed firewall rules with provided configurarions (IDEMPOTENT)
|
||
|
vyos_firewall_interfaces: *replaced
|
||
|
register: result
|
||
|
|
||
|
- name: Assert that task was idempotent
|
||
|
assert:
|
||
|
that:
|
||
|
- "result['changed'] == false"
|
||
|
|
||
|
- name: Assert that before dict is correctly generated
|
||
|
assert:
|
||
|
that:
|
||
|
- "{{ replaced['after'] | symmetric_difference(result['before']) |length == 0 }}"
|
||
|
|
||
|
always:
|
||
|
- include_tasks: _remove_config.yaml
|
||
|
|
||
|
- include_tasks: _remove_firewall_config.yaml
|