diff options
Diffstat (limited to 'test/integration/targets')
8 files changed, 205 insertions, 0 deletions
diff --git a/test/integration/targets/eos_vlans/defaults/main.yaml b/test/integration/targets/eos_vlans/defaults/main.yaml new file mode 100644 index 0000000000..5f709c5aac --- /dev/null +++ b/test/integration/targets/eos_vlans/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/test/integration/targets/eos_vlans/meta/main.yml b/test/integration/targets/eos_vlans/meta/main.yml new file mode 100644 index 0000000000..e5c8cd02f0 --- /dev/null +++ b/test/integration/targets/eos_vlans/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - prepare_eos_tests diff --git a/test/integration/targets/eos_vlans/tasks/main.yaml b/test/integration/targets/eos_vlans/tasks/main.yaml new file mode 100644 index 0000000000..af64d48ed8 --- /dev/null +++ b/test/integration/targets/eos_vlans/tasks/main.yaml @@ -0,0 +1,16 @@ +--- +- name: collect all cli test cases + find: + paths: "{{ role_path }}/tests/cli" + patterns: "{{ testcase }}.yaml" + delegate_to: localhost + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test cases (connection=network_cli) + include: "{{ test_case_to_run }} ansible_connection=network_cli" + with_items: "{{ test_items }}" + loop_control: + loop_var: test_case_to_run diff --git a/test/integration/targets/eos_vlans/tests/cli/deleted.yaml b/test/integration/targets/eos_vlans/tests/cli/deleted.yaml new file mode 100644 index 0000000000..7abeda68be --- /dev/null +++ b/test/integration/targets/eos_vlans/tests/cli/deleted.yaml @@ -0,0 +1,39 @@ +--- +- include_tasks: reset_config.yml + +- set_fact: + config: + - vlan_id: 20 + +- eos_facts: + gather_network_resources: vlans + become: yes + +- name: Returns vlans to default parameters + eos_vlans: + config: "{{ config }}" + state: deleted + register: result + become: yes + +- assert: + that: + - "ansible_facts.network_resources.vlans|symmetric_difference(result.before) == []" + +- eos_facts: + gather_network_resources: vlans + become: yes + +- assert: + that: + - "ansible_facts.network_resources.vlans|symmetric_difference(result.after) == []" + +- set_fact: + expected_config: + - vlan_id: 10 + name: ten + - vlan_id: 20 + +- assert: + that: + - "expected_config|symmetric_difference(ansible_facts.network_resources.vlans) == []" diff --git a/test/integration/targets/eos_vlans/tests/cli/merged.yaml b/test/integration/targets/eos_vlans/tests/cli/merged.yaml new file mode 100644 index 0000000000..5ad3f08597 --- /dev/null +++ b/test/integration/targets/eos_vlans/tests/cli/merged.yaml @@ -0,0 +1,42 @@ +--- +- include_tasks: reset_config.yml + +- set_fact: + config: + - vlan_id: 20 + state: suspend + +- eos_facts: + gather_network_resources: vlans + become: yes + +- name: Merge provided configuration with device configuration + eos_vlans: + config: "{{ config }}" + state: merged + register: result + become: yes + +- assert: + that: + - "ansible_facts.network_resources.vlans|symmetric_difference(result.before) == []" + +- eos_facts: + gather_network_resources: vlans + become: yes + +- assert: + that: + - "ansible_facts.network_resources.vlans|symmetric_difference(result.after) == []" + +- set_fact: + expected_config: + - vlan_id: 10 + name: ten + - vlan_id: 20 + name: twenty + state: suspend + +- assert: + that: + - "expected_config|symmetric_difference(ansible_facts.network_resources.vlans) == []" diff --git a/test/integration/targets/eos_vlans/tests/cli/overridden.yaml b/test/integration/targets/eos_vlans/tests/cli/overridden.yaml new file mode 100644 index 0000000000..edd3511ae0 --- /dev/null +++ b/test/integration/targets/eos_vlans/tests/cli/overridden.yaml @@ -0,0 +1,39 @@ +--- +- include_tasks: reset_config.yml + +- set_fact: + config: + - vlan_id: 20 + state: suspend + other_config: + - vlan_id: 10 + +- eos_facts: + gather_network_resources: vlans + become: yes + +- name: Overrides device configuration of all vlans with provided configuration + eos_vlans: + config: "{{ config }}" + state: overridden + register: result + become: yes + +- assert: + that: + - "ansible_facts.network_resources.vlans|symmetric_difference(result.before) == []" + +- eos_facts: + gather_network_resources: vlans + become: yes + +- assert: + that: + - "ansible_facts.network_resources.vlans|symmetric_difference(result.after) == []" + +- set_fact: + expected_config: "{{ config }} + {{ other_config }}" + +- assert: + that: + - "expected_config|symmetric_difference(ansible_facts.network_resources.vlans) == []" diff --git a/test/integration/targets/eos_vlans/tests/cli/replaced.yaml b/test/integration/targets/eos_vlans/tests/cli/replaced.yaml new file mode 100644 index 0000000000..ca502ff156 --- /dev/null +++ b/test/integration/targets/eos_vlans/tests/cli/replaced.yaml @@ -0,0 +1,40 @@ +--- +- include_tasks: reset_config.yml + +- set_fact: + config: + - vlan_id: 20 + state: suspend + other_config: + - vlan_id: 10 + name: ten + +- eos_facts: + gather_network_resources: vlans + become: yes + +- name: Replaces device configuration of listed vlans with provided configuration + eos_vlans: + config: "{{ config }}" + state: replaced + register: result + become: yes + +- assert: + that: + - "ansible_facts.network_resources.vlans|symmetric_difference(result.before) == []" + +- eos_facts: + gather_network_resources: vlans + become: yes + +- assert: + that: + - "ansible_facts.network_resources.vlans|symmetric_difference(result.after) == []" + +- set_fact: + expected_config: "{{ config }} + {{ other_config }}" + +- assert: + that: + - "expected_config|symmetric_difference(ansible_facts.network_resources.vlans) == []" diff --git a/test/integration/targets/eos_vlans/tests/cli/reset_config.yml b/test/integration/targets/eos_vlans/tests/cli/reset_config.yml new file mode 100644 index 0000000000..513a1199b1 --- /dev/null +++ b/test/integration/targets/eos_vlans/tests/cli/reset_config.yml @@ -0,0 +1,25 @@ +--- +- name: Reset initial config + cli_config: + config: | + no vlan 1-4094 + vlan 10 + name ten + vlan 20 + name twenty + become: yes + +- eos_facts: + gather_network_resources: vlans + become: yes + +- set_fact: + expected_config: + - vlan_id: 10 + name: ten + - vlan_id: 20 + name: twenty + +- assert: + that: + - "expected_config|symmetric_difference(ansible_facts.network_resources.vlans) == []" |