diff options
Diffstat (limited to 'test/integration/targets/eos_l2_interfaces/tests/cli')
6 files changed, 215 insertions, 0 deletions
diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/cleanup.yml b/test/integration/targets/eos_l2_interfaces/tests/cli/cleanup.yml new file mode 100644 index 0000000000..d71a6a9db4 --- /dev/null +++ b/test/integration/targets/eos_l2_interfaces/tests/cli/cleanup.yml @@ -0,0 +1,16 @@ +--- +- name: Remove all vlans + cli_config: + config: no vlan 1-4094 + become: yes + +- name: Completely remove vlans from interfaces + cli_config: + config: | + interface {{ item }} + no switchport mode + no switchport access vlan + with_items: + - Ethernet1 + - Ethernet2 + become: yes diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/deleted.yaml b/test/integration/targets/eos_l2_interfaces/tests/cli/deleted.yaml new file mode 100644 index 0000000000..6bc0099e29 --- /dev/null +++ b/test/integration/targets/eos_l2_interfaces/tests/cli/deleted.yaml @@ -0,0 +1,37 @@ +--- +- include_tasks: reset_config.yml + +- set_fact: + config: + - name: Ethernet1 + - name: Ethernet2 + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- name: Delete EOS L2 interfaces as in given arguments. + eos_l2_interfaces: + config: "{{ config }}" + state: deleted + register: result + become: yes + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.before) == []" + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.after) == []" + +- set_fact: + expected_config: "{{ config }} + [{'name': 'Management1'}]" + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(expected_config) == []" diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/merged.yaml b/test/integration/targets/eos_l2_interfaces/tests/cli/merged.yaml new file mode 100644 index 0000000000..f49994401a --- /dev/null +++ b/test/integration/targets/eos_l2_interfaces/tests/cli/merged.yaml @@ -0,0 +1,52 @@ +--- +- include_tasks: reset_config.yml + +- set_fact: + config: + - name: Ethernet1 + trunk: + native_vlan: 10 + - name: Ethernet2 + access: + vlan: 30 + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- name: Merge provided configuration with device configuration + eos_l2_interfaces: + config: "{{ config }}" + state: merged + register: result + become: yes + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.before) == []" + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.after) == []" + +- set_fact: + expected_config: + - name: Ethernet1 + access: + vlan: 20 + trunk: + native_vlan: 10 + - name: Ethernet2 + access: + vlan: 30 + trunk: + native_vlan: 20 + - name: Management1 + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(expected_config) == []" diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/overridden.yaml b/test/integration/targets/eos_l2_interfaces/tests/cli/overridden.yaml new file mode 100644 index 0000000000..8fe7f45990 --- /dev/null +++ b/test/integration/targets/eos_l2_interfaces/tests/cli/overridden.yaml @@ -0,0 +1,38 @@ +--- +- include_tasks: reset_config.yml + +- set_fact: + config: + - name: Ethernet2 + access: + vlan: 30 + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- name: Override device configuration of all L2 interfaces on device with provided configuration. + eos_l2_interfaces: + config: "{{ config }}" + state: overridden + register: result + become: yes + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.before) == []" + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.after) == []" + +- set_fact: + expected_config: "{{ config }} + [{'name': 'Ethernet1'}, {'name': 'Management1'}]" + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(expected_config) == []" diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/replaced.yaml b/test/integration/targets/eos_l2_interfaces/tests/cli/replaced.yaml new file mode 100644 index 0000000000..46c7a2dd07 --- /dev/null +++ b/test/integration/targets/eos_l2_interfaces/tests/cli/replaced.yaml @@ -0,0 +1,41 @@ +--- +- include_tasks: reset_config.yml + +- set_fact: + config: + - name: Ethernet1 + trunk: + native_vlan: 20 + trunk_allowed_vlans: + - 5-10 + - "15" + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- name: Replace device configuration of specified L2 interfaces with provided configuration. + eos_l2_interfaces: + config: "{{ config }}" + state: replaced + register: result + become: yes + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.before) == []" + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.after) == []" + +- set_fact: + expected_config: "{{ config }} + [{'name': 'Ethernet2', 'trunk': {'native_vlan': 20}}, {'name': 'Management1'}]" + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(expected_config) == []" diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/reset_config.yml b/test/integration/targets/eos_l2_interfaces/tests/cli/reset_config.yml new file mode 100644 index 0000000000..f4474ce1b7 --- /dev/null +++ b/test/integration/targets/eos_l2_interfaces/tests/cli/reset_config.yml @@ -0,0 +1,31 @@ +--- +- name: Reset state + cli_config: + config: | + interface Ethernet1 + switchport access vlan 20 + no switchport trunk native vlan + no switchport trunk allowed vlan + interface Ethernet2 + no switchport access vlan + switchport trunk native vlan 20 + switchport mode trunk + become: yes + +- eos_facts: + gather_network_resources: l2_interfaces + become: yes + +- set_fact: + expected_config: + - name: Ethernet1 + access: + vlan: 20 + - name: Ethernet2 + trunk: + native_vlan: 20 + - name: Management1 + +- assert: + that: + - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(expected_config) == []" |