summaryrefslogtreecommitdiff
path: root/tests/integration/targets/vyos_firewall_interfaces/tests/cli/rtt.yaml
blob: ff3abb1966b6c5c2ff35e01a05566228daee1228 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
---
- debug:
    msg:
      START vyos_firewall_interfaces round trip integration tests on connection={{
      ansible_connection }}

- include_tasks: _remove_config.yaml

- include_tasks: _remove_firewall_config.yaml

- include_tasks: _populate_rule_sets.yaml

- block:
    - name: Apply the provided configuration (base config)
      register: base_config
      vyos.vyos.vyos_firewall_interfaces:
        config:
          - name: eth1
            access_rules:
              - afi: ipv4
                rules:
                  - name: INBOUND
                    direction: in

                  - name: OUTBOUND
                    direction: out

                  - name: LOCAL
                    direction: local

              - afi: ipv6
                rules:
                  - name: V6-LOCAL
                    direction: local
        state: merged

    - name: Gather firewall_interfaces facts
      vyos.vyos.vyos_facts:
        gather_subset:
          - default
        gather_network_resources:
          - firewall_interfaces

    - name: Apply the provided configuration (config to be reverted)
      register: result
      vyos.vyos.vyos_firewall_interfaces:
        config:
          - name: eth2
            access_rules:
              - afi: ipv4
                rules:
                  - name: INBOUND
                    direction: in

                  - name: OUTBOUND
                    direction: out

                  - name: LOCAL
                    direction: local

              - afi: ipv6
                rules:
                  - name: V6-LOCAL
                    direction: local
        state: merged

    - name: Assert that changes were applied
      assert:
        that:
          "{{ round_trip['after'] | symmetric_difference(result['after']) |length\
          \ == 0 }}"

    - name: Revert back to base config using facts round trip
      register: revert
      vyos.vyos.vyos_firewall_interfaces:
        config: "{{ ansible_facts['network_resources']['firewall_interfaces'] }}"
        state: overridden

    - name: Assert that config was reverted
      assert:
        that:
          "{{ base_config['after'] | symmetric_difference(revert['after']) |length\
          \ == 0 }}"
  always:
    - include_tasks: _remove_config.yaml

    - include_tasks: _remove_firewall_config.yaml