From ac6465689c8ad6594873a5d4fcf98a567fa6569b Mon Sep 17 00:00:00 2001 From: Ricardo Carrillo Cruz Date: Wed, 29 Mar 2017 11:01:38 +0200 Subject: [PATCH] Add nxos_interface integration testing (#23030) This is a first step before starting the refactoring of the nxos_interface code. --- test/integration/nxos.yaml | 3 +- .../targets/nxos_interface/meta/main.yml | 2 ++ .../targets/nxos_interface/tasks/cli.yaml | 15 ++++++++++ .../targets/nxos_interface/tasks/main.yaml | 3 ++ .../targets/nxos_interface/tasks/nxapi.yaml | 28 +++++++++++++++++ .../tests/cli/set_state_absent.yaml | 30 +++++++++++++++++++ .../tests/cli/set_state_present.yaml | 30 +++++++++++++++++++ .../tests/nxapi/set_state_absent.yaml | 30 +++++++++++++++++++ .../tests/nxapi/set_state_present.yaml | 30 +++++++++++++++++++ 9 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 test/integration/targets/nxos_interface/meta/main.yml create mode 100644 test/integration/targets/nxos_interface/tasks/cli.yaml create mode 100644 test/integration/targets/nxos_interface/tasks/main.yaml create mode 100644 test/integration/targets/nxos_interface/tasks/nxapi.yaml create mode 100644 test/integration/targets/nxos_interface/tests/cli/set_state_absent.yaml create mode 100644 test/integration/targets/nxos_interface/tests/cli/set_state_present.yaml create mode 100644 test/integration/targets/nxos_interface/tests/nxapi/set_state_absent.yaml create mode 100644 test/integration/targets/nxos_interface/tests/nxapi/set_state_present.yaml diff --git a/test/integration/nxos.yaml b/test/integration/nxos.yaml index a221e4e9a8..4699403d0d 100644 --- a/test/integration/nxos.yaml +++ b/test/integration/nxos.yaml @@ -16,4 +16,5 @@ - { role: nxos_evpn_global, when: "limit_to in ['*', 'nxos_evpn_global']" } - { role: nxos_feature, when: "limit_to in ['*', 'nxos_feature']" } - { role: nxos_mtu, when: "limit_to in ['*', 'nxos_mtu']" } - - { role: nxos_system, when: "limit_to in ['*', 'nxos_system']" } \ No newline at end of file + - { role: nxos_system, when: "limit_to in ['*', 'nxos_system']" } + - { role: nxos_interface, when: "limit_to in ['*', 'nxos_interface']" } diff --git a/test/integration/targets/nxos_interface/meta/main.yml b/test/integration/targets/nxos_interface/meta/main.yml new file mode 100644 index 0000000000..ae741cbdc7 --- /dev/null +++ b/test/integration/targets/nxos_interface/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - prepare_nxos_tests diff --git a/test/integration/targets/nxos_interface/tasks/cli.yaml b/test/integration/targets/nxos_interface/tasks/cli.yaml new file mode 100644 index 0000000000..d675462dd0 --- /dev/null +++ b/test/integration/targets/nxos_interface/tasks/cli.yaml @@ -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 diff --git a/test/integration/targets/nxos_interface/tasks/main.yaml b/test/integration/targets/nxos_interface/tasks/main.yaml new file mode 100644 index 0000000000..4b0f8c64d9 --- /dev/null +++ b/test/integration/targets/nxos_interface/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: cli.yaml, tags: ['cli'] } +- { include: nxapi.yaml, tags: ['nxapi'] } diff --git a/test/integration/targets/nxos_interface/tasks/nxapi.yaml b/test/integration/targets/nxos_interface/tasks/nxapi.yaml new file mode 100644 index 0000000000..ea525379f7 --- /dev/null +++ b/test/integration/targets/nxos_interface/tasks/nxapi.yaml @@ -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 }}" diff --git a/test/integration/targets/nxos_interface/tests/cli/set_state_absent.yaml b/test/integration/targets/nxos_interface/tests/cli/set_state_absent.yaml new file mode 100644 index 0000000000..39b153dce3 --- /dev/null +++ b/test/integration/targets/nxos_interface/tests/cli/set_state_absent.yaml @@ -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" diff --git a/test/integration/targets/nxos_interface/tests/cli/set_state_present.yaml b/test/integration/targets/nxos_interface/tests/cli/set_state_present.yaml new file mode 100644 index 0000000000..dc8b4dd8b2 --- /dev/null +++ b/test/integration/targets/nxos_interface/tests/cli/set_state_present.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" diff --git a/test/integration/targets/nxos_interface/tests/nxapi/set_state_absent.yaml b/test/integration/targets/nxos_interface/tests/nxapi/set_state_absent.yaml new file mode 100644 index 0000000000..10b586a9e8 --- /dev/null +++ b/test/integration/targets/nxos_interface/tests/nxapi/set_state_absent.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" diff --git a/test/integration/targets/nxos_interface/tests/nxapi/set_state_present.yaml b/test/integration/targets/nxos_interface/tests/nxapi/set_state_present.yaml new file mode 100644 index 0000000000..ca4688eedf --- /dev/null +++ b/test/integration/targets/nxos_interface/tests/nxapi/set_state_present.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"