summaryrefslogtreecommitdiff
path: root/tests/integration/targets/vyos_smoke
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/targets/vyos_smoke')
-rw-r--r--tests/integration/targets/vyos_smoke/defaults/main.yaml3
-rw-r--r--tests/integration/targets/vyos_smoke/tasks/cli.yaml22
-rw-r--r--tests/integration/targets/vyos_smoke/tasks/main.yaml2
-rw-r--r--tests/integration/targets/vyos_smoke/tests/cli/common_config.yaml10
-rw-r--r--tests/integration/targets/vyos_smoke/tests/cli/common_utils.yaml49
-rw-r--r--tests/integration/targets/vyos_smoke/tests/cli/misc_tests.yaml13
6 files changed, 99 insertions, 0 deletions
diff --git a/tests/integration/targets/vyos_smoke/defaults/main.yaml b/tests/integration/targets/vyos_smoke/defaults/main.yaml
new file mode 100644
index 00000000..9ef5ba51
--- /dev/null
+++ b/tests/integration/targets/vyos_smoke/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/tests/integration/targets/vyos_smoke/tasks/cli.yaml b/tests/integration/targets/vyos_smoke/tasks/cli.yaml
new file mode 100644
index 00000000..890d3acf
--- /dev/null
+++ b/tests/integration/targets/vyos_smoke/tasks/cli.yaml
@@ -0,0 +1,22 @@
+---
+- 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 case (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+
+- name: run test case (connection=local)
+ include: "{{ test_case_to_run }} ansible_connection=local"
+ with_first_found: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
diff --git a/tests/integration/targets/vyos_smoke/tasks/main.yaml b/tests/integration/targets/vyos_smoke/tasks/main.yaml
new file mode 100644
index 00000000..415c99d8
--- /dev/null
+++ b/tests/integration/targets/vyos_smoke/tasks/main.yaml
@@ -0,0 +1,2 @@
+---
+- { include: cli.yaml, tags: ['cli'] }
diff --git a/tests/integration/targets/vyos_smoke/tests/cli/common_config.yaml b/tests/integration/targets/vyos_smoke/tests/cli/common_config.yaml
new file mode 100644
index 00000000..1c07980d
--- /dev/null
+++ b/tests/integration/targets/vyos_smoke/tests/cli/common_config.yaml
@@ -0,0 +1,10 @@
+# vyos.py in plugins and module_utils/network covered by these as well
+# hit NetworkConfig
+- name: configure simple config command
+ vyos.vyos.vyos_config:
+ lines: set system host-name smoke
+
+- name: return host name to inventory_hostname
+ vyos.vyos.vyos_config:
+ lines: set system host-name {{ inventory_hostname_short }}
+ match: none
diff --git a/tests/integration/targets/vyos_smoke/tests/cli/common_utils.yaml b/tests/integration/targets/vyos_smoke/tests/cli/common_utils.yaml
new file mode 100644
index 00000000..db837c50
--- /dev/null
+++ b/tests/integration/targets/vyos_smoke/tests/cli/common_utils.yaml
@@ -0,0 +1,49 @@
+# vyos.py in plugins and module_utils/network covered by these as well
+# remove_default_spec() hit by multiple plays
+
+# hit ComplexList
+- name: get output for single command
+ vyos.vyos.vyos_command:
+ commands:
+ - show version
+ register: result
+
+- assert:
+ that:
+ - result.changed == false
+ - result.stdout is defined
+ - result.stdout_lines is defined
+
+# hit conditional() - used for declarative intent
+# Note, this can't be run on AWS because fully testing the vyos_interface dependencies
+# requires the ability to create and remove interfaces other than eth0
+- name: enable eth1
+ vyos.vyos.vyos_interface:
+ name: eth1
+ enabled: True
+ state: present
+ register: result
+
+- name: Check intent arguments
+ vyos.vyos.vyos_interface:
+ name: eth1
+ state: up
+ register: result
+
+- name: Check intent arguments (failed condition)
+ vyos.vyos.vyos_interface:
+ name: eth1
+ state: down
+ ignore_errors: yes
+ register: result
+
+- assert:
+ that:
+ - "result.failed == true"
+ - "'state eq(down)' in result.failed_conditions"
+
+- name: Config + intent
+ vyos.vyos.vyos_interface:
+ name: eth1
+ enabled: False
+ state: down
diff --git a/tests/integration/targets/vyos_smoke/tests/cli/misc_tests.yaml b/tests/integration/targets/vyos_smoke/tests/cli/misc_tests.yaml
new file mode 100644
index 00000000..720f95ea
--- /dev/null
+++ b/tests/integration/targets/vyos_smoke/tests/cli/misc_tests.yaml
@@ -0,0 +1,13 @@
+# hit check conditional in module_utils.network.vyos -> load_config()
+- name: configure simple config command
+ vyos.vyos.vyos_config:
+ lines: set system host-name check-test
+ check_mode: yes
+
+- name: get host name
+ vyos.vyos.vyos_command:
+ commands: show host name
+ register: result
+
+- assert:
+ that: '"check-test" not in result.stdout'