61 lines
1.9 KiB
YAML
61 lines
1.9 KiB
YAML
|
---
|
||
|
- debug:
|
||
|
msg: "START vyos_firewall_rules overridden integration tests on connection={{ ansible_connection }}"
|
||
|
|
||
|
- include_tasks: _remove_config.yaml
|
||
|
|
||
|
- include_tasks: _populate.yaml
|
||
|
|
||
|
- block:
|
||
|
- name: Overrides all device configuration with provided configuration
|
||
|
vyos_firewall_rules: &overridden
|
||
|
config:
|
||
|
- afi: 'ipv4'
|
||
|
rule_sets:
|
||
|
- name: 'Downlink'
|
||
|
description: 'IPv4 INBOUND rule set'
|
||
|
default_action: 'accept'
|
||
|
rules:
|
||
|
- number: 501
|
||
|
action: 'accept'
|
||
|
description: 'Rule 501 is configured by Ansible'
|
||
|
ipsec: 'match-ipsec'
|
||
|
- number: 502
|
||
|
action: 'reject'
|
||
|
description: 'Rule 502 is configured by Ansible'
|
||
|
ipsec: 'match-ipsec'
|
||
|
state: overridden
|
||
|
register: result
|
||
|
|
||
|
- name: Assert that before dicts were correctly generated
|
||
|
assert:
|
||
|
that:
|
||
|
- "{{ populate | symmetric_difference(result['before']) |length == 0 }}"
|
||
|
|
||
|
- name: Assert that correct commands were generated
|
||
|
assert:
|
||
|
that:
|
||
|
- "{{ overridden['commands'] | symmetric_difference(result['commands']) |length == 0 }}"
|
||
|
|
||
|
- name: Assert that after dicts were correctly generated
|
||
|
assert:
|
||
|
that:
|
||
|
- "{{ overridden['after'] | symmetric_difference(result['after']) |length == 0 }}"
|
||
|
|
||
|
- name: Overrides all device configuration with provided configurations (IDEMPOTENT)
|
||
|
vyos_firewall_rules: *overridden
|
||
|
register: result
|
||
|
|
||
|
- name: Assert that the previous task was idempotent
|
||
|
assert:
|
||
|
that:
|
||
|
- "result['changed'] == false"
|
||
|
|
||
|
- name: Assert that before dicts were correctly generated
|
||
|
assert:
|
||
|
that:
|
||
|
- "{{ overridden['after'] | symmetric_difference(result['before']) |length == 0 }}"
|
||
|
|
||
|
always:
|
||
|
- include_tasks: _remove_config.yaml
|