diff --git a/test/integration/targets/nxos_nxapi_transports/defaults/main.yaml b/test/integration/targets/nxos_nxapi_transports/defaults/main.yaml new file mode 100644 index 0000000000..5f709c5aac --- /dev/null +++ b/test/integration/targets/nxos_nxapi_transports/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/test/integration/targets/nxos_nxapi_transports/meta/main.yml b/test/integration/targets/nxos_nxapi_transports/meta/main.yml new file mode 100644 index 0000000000..ae741cbdc7 --- /dev/null +++ b/test/integration/targets/nxos_nxapi_transports/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - prepare_nxos_tests diff --git a/test/integration/targets/nxos_nxapi_transports/tasks/main.yaml b/test/integration/targets/nxos_nxapi_transports/tasks/main.yaml new file mode 100644 index 0000000000..7b3640c35e --- /dev/null +++ b/test/integration/targets/nxos_nxapi_transports/tasks/main.yaml @@ -0,0 +1,2 @@ +--- +- { include: nxapi.yaml, tags: ['nxapi'] } diff --git a/test/integration/targets/nxos_nxapi_transports/tasks/nxapi.yaml b/test/integration/targets/nxos_nxapi_transports/tasks/nxapi.yaml new file mode 100644 index 0000000000..1d4dc15723 --- /dev/null +++ b/test/integration/targets/nxos_nxapi_transports/tasks/nxapi.yaml @@ -0,0 +1,24 @@ +--- + +- block: + + - set_fact: + tls: + - [ yes, no, no ] + - [ no, yes, no ] + - [ no, no, yes ] + - set_fact: + ciphers: + - yes + - no + + - name: NXAPI various transport tests with different TLS and ciphers + vars: + tlsv1_2: "{{ item[0][0] }}" + tlsv1_1: "{{ item[0][1] }}" + tlsv1_0: "{{ item[0][2] }}" + ssl_strong_ciphers: "{{ item[1] }}" + include: targets/nxos_nxapi_transports/tests/nxapi/assert_test.yaml + loop: "{{ tls | product(ciphers) | list }}" + + when: (platform is match("N9K") or platform is match("N3K") or platform is match("N9K-F") or platform is match("N35") or platform is match("N3L")) and major_version is version('9.2', '>=') diff --git a/test/integration/targets/nxos_nxapi_transports/tests/nxapi/assert_test.yaml b/test/integration/targets/nxos_nxapi_transports/tests/nxapi/assert_test.yaml new file mode 100644 index 0000000000..d1a09cb92d --- /dev/null +++ b/test/integration/targets/nxos_nxapi_transports/tests/nxapi/assert_test.yaml @@ -0,0 +1,38 @@ +- block: + + - debug: msg="START nxapi/setup_test.yaml" + + - name: "Configure NXAPI tlsv1_2={{ tlsv1_2 }}, tlsv1_1={{ tlsv1_1 }}, tlsv1_0={{ tlsv1_0 }}, ssl_strong_ciphers={{ ssl_strong_ciphers }}" + nxos_nxapi: + enable_http: no + enable_https: yes + https_port: 443 + tlsv1_2: "{{ tlsv1_2 }}" + tlsv1_1: "{{ tlsv1_1 }}" + tlsv1_0: "{{ tlsv1_0 }}" + ssl_strong_ciphers: "{{ ssl_strong_ciphers }}" + connection: network_cli + register: result + + - name: Assert NXAPI setup test was successful + assert: &assert_false + that: + - "result.failed == false" + + - name: Assert transports + include: targets/nxos_nxapi_transports/tests/nxapi/assert_transports.yaml + + - debug: msg="END nxapi/setup_test.yaml" + + always: + - name: Cleanup - Disable NXAPI + nxos_nxapi: + state: absent + connection: network_cli + register: result + + - name: Cleanup - Re-enable NXAPI + nxos_nxapi: + state: present + connection: network_cli + register: result diff --git a/test/integration/targets/nxos_nxapi_transports/tests/nxapi/assert_transports.yaml b/test/integration/targets/nxos_nxapi_transports/tests/nxapi/assert_transports.yaml new file mode 100644 index 0000000000..7789bb3832 --- /dev/null +++ b/test/integration/targets/nxos_nxapi_transports/tests/nxapi/assert_transports.yaml @@ -0,0 +1,26 @@ +--- + +- nxos_command: + commands: + - show hostname + connection: httpapi + vars: + ansible_httpapi_use_ssl: yes + ansible_httpapi_validate_certs: no + register: result + +- name: Assert command over connection httpapi was successful + assert: + that: + - "result.failed == false" + +- nxos_command: + commands: + - show hostname + provider: "{{ nxapi_ssl }}" + register: result + +- name: Assert command over nxapi_ssl provider was successful + assert: + that: + - "result.failed == false"