--- - 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