summaryrefslogtreecommitdiff
path: root/test/integration/targets
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets')
-rw-r--r--test/integration/targets/eos_vlans/defaults/main.yaml2
-rw-r--r--test/integration/targets/eos_vlans/meta/main.yml2
-rw-r--r--test/integration/targets/eos_vlans/tasks/main.yaml16
-rw-r--r--test/integration/targets/eos_vlans/tests/cli/deleted.yaml39
-rw-r--r--test/integration/targets/eos_vlans/tests/cli/merged.yaml42
-rw-r--r--test/integration/targets/eos_vlans/tests/cli/overridden.yaml39
-rw-r--r--test/integration/targets/eos_vlans/tests/cli/replaced.yaml40
-rw-r--r--test/integration/targets/eos_vlans/tests/cli/reset_config.yml25
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) == []"