summaryrefslogtreecommitdiff
path: root/test/integration/targets/eos_l3_interfaces/tests/cli
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/eos_l3_interfaces/tests/cli')
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/cli/deleted.yaml42
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/cli/merged.yaml55
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/cli/overridden.yaml45
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/cli/replaced.yaml48
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/cli/reset_config.yml37
5 files changed, 227 insertions, 0 deletions
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/deleted.yaml b/test/integration/targets/eos_l3_interfaces/tests/cli/deleted.yaml
new file mode 100644
index 0000000000..43483358f6
--- /dev/null
+++ b/test/integration/targets/eos_l3_interfaces/tests/cli/deleted.yaml
@@ -0,0 +1,42 @@
+---
+- include_tasks: reset_config.yml
+
+- set_fact:
+ config:
+ - name: Ethernet1
+ - name: Ethernet2
+ other_config:
+ - name: Management1
+ ipv4:
+ - address: dhcp
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- name: Delete EOS L3 interfaces as in given arguments.
+ eos_l3_interfaces:
+ config: "{{ config }}"
+ state: deleted
+ register: result
+ become: yes
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(result.before) == []"
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(result.after) == []"
+ become: yes
+
+- set_fact:
+ expected_config: "{{ config }} + {{ other_config }}"
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(expected_config) == []"
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/merged.yaml b/test/integration/targets/eos_l3_interfaces/tests/cli/merged.yaml
new file mode 100644
index 0000000000..dd36fd371d
--- /dev/null
+++ b/test/integration/targets/eos_l3_interfaces/tests/cli/merged.yaml
@@ -0,0 +1,55 @@
+---
+- include_tasks: reset_config.yml
+
+- set_fact:
+ config:
+ - name: Ethernet1
+ ipv4:
+ - address: 198.51.100.14/24
+ - name: Ethernet2
+ ipv4:
+ - address: 203.0.113.227/31
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- name: Merge provided configuration with device configuration.
+ eos_l3_interfaces:
+ config: "{{ config }}"
+ state: merged
+ register: result
+ become: yes
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(result.before) == []"
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(result.after) == []"
+ become: yes
+
+- set_fact:
+ expected_config:
+ - name: Ethernet1
+ ipv4:
+ - address: 198.51.100.14/24
+ - address: 203.0.113.27/31
+ secondary: true
+ - name: Ethernet2
+ ipv4:
+ - address: 203.0.113.227/31
+ ipv6:
+ - address: 2001:db8::1/64
+ - name: Management1
+ ipv4:
+ - address: dhcp
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(expected_config) == []"
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/overridden.yaml b/test/integration/targets/eos_l3_interfaces/tests/cli/overridden.yaml
new file mode 100644
index 0000000000..d7c7b97e7d
--- /dev/null
+++ b/test/integration/targets/eos_l3_interfaces/tests/cli/overridden.yaml
@@ -0,0 +1,45 @@
+---
+- include_tasks: reset_config.yml
+
+- set_fact:
+ config:
+ - name: Ethernet1
+ ipv6:
+ - address: 2001:db8:feed::1/96
+ - name: Ethernet2
+ ipv6:
+ - address: 2001:db8::1/64
+ - name: Management1
+ ipv4:
+ - address: dhcp
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- name: Override device configuration of all L3 interfaces on device with provided configuration.
+ eos_l3_interfaces:
+ config: "{{ config }}"
+ state: overridden
+ register: result
+ become: yes
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(result.before) == []"
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(result.after) == []"
+ become: yes
+
+- set_fact:
+ expected_config: "{{ config }}"
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(expected_config) == []"
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/replaced.yaml b/test/integration/targets/eos_l3_interfaces/tests/cli/replaced.yaml
new file mode 100644
index 0000000000..f1f84ab2a5
--- /dev/null
+++ b/test/integration/targets/eos_l3_interfaces/tests/cli/replaced.yaml
@@ -0,0 +1,48 @@
+---
+- include_tasks: reset_config.yml
+
+- set_fact:
+ config:
+ - name: Ethernet2
+ ipv4:
+ - address: 203.0.113.205/31
+ other_config:
+ - name: Ethernet1
+ ipv4:
+ - address: 192.0.2.12/24
+ - address: 203.0.113.27/31
+ secondary: true
+ - name: Management1
+ ipv4:
+ - address: dhcp
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- name: Replace device configuration of specified L3 interfaces with provided configuration.
+ eos_l3_interfaces:
+ config: "{{ config }}"
+ state: replaced
+ register: result
+ become: yes
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(result.before) == []"
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(result.after) == []"
+ become: yes
+
+- set_fact:
+ expected_config: "{{ config }} + {{ other_config }}"
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(expected_config) == []"
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/reset_config.yml b/test/integration/targets/eos_l3_interfaces/tests/cli/reset_config.yml
new file mode 100644
index 0000000000..3efc086a4b
--- /dev/null
+++ b/test/integration/targets/eos_l3_interfaces/tests/cli/reset_config.yml
@@ -0,0 +1,37 @@
+---
+- name: Reset state
+ cli_config:
+ config: |
+ interface Ethernet1
+ ip address 192.0.2.12/24
+ ip address 203.0.113.27/31 secondary
+ no ipv6 address
+ interface Ethernet2
+ no ip address
+ ipv6 address 2001:db8::1/64
+ interface Management1
+ ip address dhcp
+ no ipv6 address
+ become: yes
+
+- eos_facts:
+ gather_network_resources: l3_interfaces
+ become: yes
+
+- set_fact:
+ expected_config:
+ - name: Ethernet1
+ ipv4:
+ - address: 192.0.2.12/24
+ - address: 203.0.113.27/31
+ secondary: true
+ - name: Ethernet2
+ ipv6:
+ - address: 2001:db8::1/64
+ - name: Management1
+ ipv4:
+ - address: dhcp
+
+- assert:
+ that:
+ - "ansible_facts.network_resources.l3_interfaces|symmetric_difference(expected_config) == []"