summaryrefslogtreecommitdiff
path: root/test/integration/targets/eos_l2_interfaces/tests/cli
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/eos_l2_interfaces/tests/cli')
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/cli/cleanup.yml16
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/cli/deleted.yaml37
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/cli/merged.yaml52
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/cli/overridden.yaml38
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/cli/replaced.yaml41
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/cli/reset_config.yml31
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) == []"