From 8a754e0858d922e955e71b253c139e071ecec432 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 18:04:21 +0200 Subject: Adding upstream version 2.14.3. Signed-off-by: Daniel Baumann --- .../targets/incidental_ios_file/aliases | 2 + .../targets/incidental_ios_file/defaults/main.yaml | 2 + .../targets/incidental_ios_file/ios1.cfg | 3 + .../targets/incidental_ios_file/nonascii.bin | Bin 0 -> 32768 bytes .../targets/incidental_ios_file/tasks/cli.yaml | 17 +++++ .../targets/incidental_ios_file/tasks/main.yaml | 2 + .../incidental_ios_file/tests/cli/net_get.yaml | 52 +++++++++++++++ .../incidental_ios_file/tests/cli/net_put.yaml | 73 +++++++++++++++++++++ 8 files changed, 151 insertions(+) create mode 100644 test/integration/targets/incidental_ios_file/aliases create mode 100644 test/integration/targets/incidental_ios_file/defaults/main.yaml create mode 100644 test/integration/targets/incidental_ios_file/ios1.cfg create mode 100644 test/integration/targets/incidental_ios_file/nonascii.bin create mode 100644 test/integration/targets/incidental_ios_file/tasks/cli.yaml create mode 100644 test/integration/targets/incidental_ios_file/tasks/main.yaml create mode 100644 test/integration/targets/incidental_ios_file/tests/cli/net_get.yaml create mode 100644 test/integration/targets/incidental_ios_file/tests/cli/net_put.yaml (limited to 'test/integration/targets/incidental_ios_file') diff --git a/test/integration/targets/incidental_ios_file/aliases b/test/integration/targets/incidental_ios_file/aliases new file mode 100644 index 0000000..cbcfec6 --- /dev/null +++ b/test/integration/targets/incidental_ios_file/aliases @@ -0,0 +1,2 @@ +shippable/ios/incidental +network/ios diff --git a/test/integration/targets/incidental_ios_file/defaults/main.yaml b/test/integration/targets/incidental_ios_file/defaults/main.yaml new file mode 100644 index 0000000..5f709c5 --- /dev/null +++ b/test/integration/targets/incidental_ios_file/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/test/integration/targets/incidental_ios_file/ios1.cfg b/test/integration/targets/incidental_ios_file/ios1.cfg new file mode 100644 index 0000000..120dd4c --- /dev/null +++ b/test/integration/targets/incidental_ios_file/ios1.cfg @@ -0,0 +1,3 @@ +vlan 3 + name ank_vlan3 +! diff --git a/test/integration/targets/incidental_ios_file/nonascii.bin b/test/integration/targets/incidental_ios_file/nonascii.bin new file mode 100644 index 0000000..14c6ddb Binary files /dev/null and b/test/integration/targets/incidental_ios_file/nonascii.bin differ diff --git a/test/integration/targets/incidental_ios_file/tasks/cli.yaml b/test/integration/targets/incidental_ios_file/tasks/cli.yaml new file mode 100644 index 0000000..3eb5769 --- /dev/null +++ b/test/integration/targets/incidental_ios_file/tasks/cli.yaml @@ -0,0 +1,17 @@ +--- +- name: collect all cli test cases + find: + paths: "{{ role_path }}/tests/cli" + patterns: "{{ testcase }}.yaml" + register: test_cases + delegate_to: localhost + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test cases (connection=ansible.netcommon.network_cli) + include_tasks: "{{ test_case_to_run }}" + with_items: "{{ test_items }}" + loop_control: + loop_var: test_case_to_run + tags: connection_network_cli diff --git a/test/integration/targets/incidental_ios_file/tasks/main.yaml b/test/integration/targets/incidental_ios_file/tasks/main.yaml new file mode 100644 index 0000000..24ad94a --- /dev/null +++ b/test/integration/targets/incidental_ios_file/tasks/main.yaml @@ -0,0 +1,2 @@ +--- +- { import_tasks: cli.yaml, tags: ['cli'] } diff --git a/test/integration/targets/incidental_ios_file/tests/cli/net_get.yaml b/test/integration/targets/incidental_ios_file/tests/cli/net_get.yaml new file mode 100644 index 0000000..5a7ebf0 --- /dev/null +++ b/test/integration/targets/incidental_ios_file/tests/cli/net_get.yaml @@ -0,0 +1,52 @@ +--- +- debug: msg="START ios cli/net_get.yaml on connection={{ ansible_connection }}" + +# Add minimal testcase to check args are passed correctly to +# implementation module and module run is successful. + +- name: setup + cisco.ios.ios_config: + lines: + - ip ssh version 2 + - ip scp server enable + - username {{ ansible_ssh_user }} privilege 15 + match: none + +- name: setup (copy file to be fetched from device) + ansible.netcommon.net_put: + src: ios1.cfg + register: result + +- name: setup (remove file from localhost if present) + file: + path: ios_{{ inventory_hostname }}.cfg + state: absent + delegate_to: localhost + +- name: get the file from device with relative destination + ansible.netcommon.net_get: + src: ios1.cfg + dest: 'ios_{{ inventory_hostname }}.cfg' + register: result + +- assert: + that: + - result.changed == true + +- name: Idempotency check + ansible.netcommon.net_get: + src: ios1.cfg + dest: 'ios_{{ inventory_hostname }}.cfg' + register: result + +- assert: + that: + - result.changed == false + +- name: setup (remove file from localhost if present) + file: + path: ios_{{ inventory_hostname }}.cfg + state: absent + delegate_to: localhost + +- debug: msg="END ios cli/net_get.yaml on connection={{ ansible_connection }}" diff --git a/test/integration/targets/incidental_ios_file/tests/cli/net_put.yaml b/test/integration/targets/incidental_ios_file/tests/cli/net_put.yaml new file mode 100644 index 0000000..215b524 --- /dev/null +++ b/test/integration/targets/incidental_ios_file/tests/cli/net_put.yaml @@ -0,0 +1,73 @@ +--- +- debug: + msg: "START ios cli/net_put.yaml on connection={{ ansible_connection }}" + +# Add minimal testcase to check args are passed correctly to +# implementation module and module run is successful. + +- name: setup + cisco.ios.ios_config: + lines: + - ip ssh version 2 + - ip scp server enable + - username {{ ansible_ssh_user }} privilege 15 + match: none + +- name: Delete existing files if present on remote host + cisco.ios.ios_command: + commands: "{{ item }}" + loop: + - delete /force ios1.cfg + - delete /force ios.cfg + - delete /force nonascii.bin + ignore_errors: true + +- name: copy file from controller to ios + scp (Default) + ansible.netcommon.net_put: + src: ios1.cfg + register: result + +- assert: + that: + - result.changed == true + +- name: Idempotency Check + ansible.netcommon.net_put: + src: ios1.cfg + register: result + +- assert: + that: + - result.changed == false + +- name: copy file from controller to ios + dest specified + ansible.netcommon.net_put: + src: ios1.cfg + dest: ios.cfg + register: result + +- assert: + that: + - result.changed == true + +- name: copy file with non-ascii characters to ios in template mode(Fail case) + ansible.netcommon.net_put: + src: nonascii.bin + mode: 'text' + register: result + ignore_errors: true + +- assert: + that: + - result.failed == true + +- name: copy file with non-ascii characters to ios in default mode(binary) + ansible.netcommon.net_put: + src: nonascii.bin + register: result + +- assert: + that: + - result.changed == true + +- debug: msg="END ios cli/net_put.yaml on connection={{ ansible_connection }}" -- cgit v1.2.3