summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/incidental_ios_file
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/integration/targets/incidental_ios_file/aliases2
-rw-r--r--test/integration/targets/incidental_ios_file/defaults/main.yaml2
-rw-r--r--test/integration/targets/incidental_ios_file/ios1.cfg3
-rw-r--r--test/integration/targets/incidental_ios_file/nonascii.binbin0 -> 32768 bytes
-rw-r--r--test/integration/targets/incidental_ios_file/tasks/cli.yaml17
-rw-r--r--test/integration/targets/incidental_ios_file/tasks/main.yaml2
-rw-r--r--test/integration/targets/incidental_ios_file/tests/cli/net_get.yaml52
-rw-r--r--test/integration/targets/incidental_ios_file/tests/cli/net_put.yaml73
8 files changed, 151 insertions, 0 deletions
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
--- /dev/null
+++ b/test/integration/targets/incidental_ios_file/nonascii.bin
Binary files 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 }}"