Add nxos_interface integration testing (#23030)
This is a first step before starting the refactoring of the nxos_interface code.
This commit is contained in:
parent
864cafbf5e
commit
ac6465689c
9 changed files with 170 additions and 1 deletions
|
@ -16,4 +16,5 @@
|
||||||
- { role: nxos_evpn_global, when: "limit_to in ['*', 'nxos_evpn_global']" }
|
- { role: nxos_evpn_global, when: "limit_to in ['*', 'nxos_evpn_global']" }
|
||||||
- { role: nxos_feature, when: "limit_to in ['*', 'nxos_feature']" }
|
- { role: nxos_feature, when: "limit_to in ['*', 'nxos_feature']" }
|
||||||
- { role: nxos_mtu, when: "limit_to in ['*', 'nxos_mtu']" }
|
- { role: nxos_mtu, when: "limit_to in ['*', 'nxos_mtu']" }
|
||||||
- { role: nxos_system, when: "limit_to in ['*', 'nxos_system']" }
|
- { role: nxos_system, when: "limit_to in ['*', 'nxos_system']" }
|
||||||
|
- { role: nxos_interface, when: "limit_to in ['*', 'nxos_interface']" }
|
||||||
|
|
2
test/integration/targets/nxos_interface/meta/main.yml
Normal file
2
test/integration/targets/nxos_interface/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
dependencies:
|
||||||
|
- prepare_nxos_tests
|
15
test/integration/targets/nxos_interface/tasks/cli.yaml
Normal file
15
test/integration/targets/nxos_interface/tasks/cli.yaml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
- name: collect all cli test cases
|
||||||
|
find:
|
||||||
|
paths: "{{ role_path }}/tests/cli"
|
||||||
|
patterns: "{{ testcase }}.yaml"
|
||||||
|
register: test_cases
|
||||||
|
|
||||||
|
- name: set test_items
|
||||||
|
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||||
|
|
||||||
|
- name: run test case
|
||||||
|
include: "{{ test_case_to_run }}"
|
||||||
|
with_items: "{{ test_items }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: test_case_to_run
|
3
test/integration/targets/nxos_interface/tasks/main.yaml
Normal file
3
test/integration/targets/nxos_interface/tasks/main.yaml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
- { include: cli.yaml, tags: ['cli'] }
|
||||||
|
- { include: nxapi.yaml, tags: ['nxapi'] }
|
28
test/integration/targets/nxos_interface/tasks/nxapi.yaml
Normal file
28
test/integration/targets/nxos_interface/tasks/nxapi.yaml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
- name: collect all nxapi test cases
|
||||||
|
find:
|
||||||
|
paths: "{{ role_path }}/tests/nxapi"
|
||||||
|
patterns: "{{ testcase }}.yaml"
|
||||||
|
register: test_cases
|
||||||
|
|
||||||
|
- name: set test_items
|
||||||
|
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||||
|
|
||||||
|
- name: enable nxapi
|
||||||
|
nxos_config:
|
||||||
|
lines:
|
||||||
|
- feature nxapi
|
||||||
|
- nxapi http port 80
|
||||||
|
provider: "{{ cli }}"
|
||||||
|
|
||||||
|
- name: run test case
|
||||||
|
include: "{{ test_case_to_run }}"
|
||||||
|
with_items: "{{ test_items }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: test_case_to_run
|
||||||
|
|
||||||
|
- name: disable nxapi
|
||||||
|
nxos_config:
|
||||||
|
lines:
|
||||||
|
- no feature nxapi
|
||||||
|
provider: "{{ cli }}"
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
- debug: msg="START cli/set_state_absent.yaml"
|
||||||
|
|
||||||
|
- name: setup
|
||||||
|
nxos_config:
|
||||||
|
lines:
|
||||||
|
- interface Loopback1
|
||||||
|
provider: "{{ cli }}"
|
||||||
|
|
||||||
|
- name: set state=absent
|
||||||
|
nxos_interface:
|
||||||
|
interface: Loopback1
|
||||||
|
state: absent
|
||||||
|
provider: "{{ cli }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
|
||||||
|
- name: verify state=absent
|
||||||
|
nxos_interface:
|
||||||
|
interface: Loopback1
|
||||||
|
state: absent
|
||||||
|
provider: "{{ cli }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == false"
|
||||||
|
|
||||||
|
- debug: msg="END cli/set_state_absent.yaml"
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
- debug: msg="START cli/set_state_present.yaml"
|
||||||
|
|
||||||
|
- name: setup
|
||||||
|
nxos_config:
|
||||||
|
lines:
|
||||||
|
- no interface Loopback1
|
||||||
|
provider: "{{ cli }}"
|
||||||
|
|
||||||
|
- name: set state=present
|
||||||
|
nxos_interface:
|
||||||
|
interface: Loopback1
|
||||||
|
state: present
|
||||||
|
provider: "{{ cli }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
|
||||||
|
- name: verify state=present
|
||||||
|
nxos_interface:
|
||||||
|
interface: Loopback1
|
||||||
|
state: present
|
||||||
|
provider: "{{ cli }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == false"
|
||||||
|
|
||||||
|
- debug: msg="END cli/set_state_present.yaml"
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
- debug: msg="START nxapi/set_state_absent.yaml"
|
||||||
|
|
||||||
|
- name: setup
|
||||||
|
nxos_config:
|
||||||
|
lines:
|
||||||
|
- interface Loopback1
|
||||||
|
provider: "{{ nxapi }}"
|
||||||
|
|
||||||
|
- name: set state=absent
|
||||||
|
nxos_interface:
|
||||||
|
interface: Loopback1
|
||||||
|
state: absent
|
||||||
|
provider: "{{ nxapi }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
|
||||||
|
- name: verify state=absent
|
||||||
|
nxos_interface:
|
||||||
|
interface: Loopback1
|
||||||
|
state: absent
|
||||||
|
provider: "{{ nxapi }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == false"
|
||||||
|
|
||||||
|
- debug: msg="END nxapi/set_state_absent.yaml"
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
- debug: msg="START nxapi/set_state_present.yaml"
|
||||||
|
|
||||||
|
- name: setup
|
||||||
|
nxos_config:
|
||||||
|
lines:
|
||||||
|
- no interface Loopback1
|
||||||
|
provider: "{{ nxapi }}"
|
||||||
|
|
||||||
|
- name: set state=present
|
||||||
|
nxos_interface:
|
||||||
|
interface: Loopback1
|
||||||
|
state: present
|
||||||
|
provider: "{{ nxapi }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
|
||||||
|
- name: verify state=present
|
||||||
|
nxos_interface:
|
||||||
|
interface: Loopback1
|
||||||
|
state: present
|
||||||
|
provider: "{{ nxapi }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == false"
|
||||||
|
|
||||||
|
- debug: msg="END nxapi/set_state_present.yaml"
|
Loading…
Reference in a new issue