summaryrefslogtreecommitdiff
path: root/tests/integration/targets/vyos_static_route
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/targets/vyos_static_route')
-rw-r--r--tests/integration/targets/vyos_static_route/aliases1
-rw-r--r--tests/integration/targets/vyos_static_route/defaults/main.yaml3
-rw-r--r--tests/integration/targets/vyos_static_route/tasks/cli.yaml22
-rw-r--r--tests/integration/targets/vyos_static_route/tasks/main.yaml2
-rw-r--r--tests/integration/targets/vyos_static_route/tests/cli/basic.yaml120
-rw-r--r--tests/integration/targets/vyos_static_route/tests/cli/net_static_route.yaml33
6 files changed, 181 insertions, 0 deletions
diff --git a/tests/integration/targets/vyos_static_route/aliases b/tests/integration/targets/vyos_static_route/aliases
new file mode 100644
index 00000000..539d9574
--- /dev/null
+++ b/tests/integration/targets/vyos_static_route/aliases
@@ -0,0 +1 @@
+shippable/network
diff --git a/tests/integration/targets/vyos_static_route/defaults/main.yaml b/tests/integration/targets/vyos_static_route/defaults/main.yaml
new file mode 100644
index 00000000..9ef5ba51
--- /dev/null
+++ b/tests/integration/targets/vyos_static_route/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/tests/integration/targets/vyos_static_route/tasks/cli.yaml b/tests/integration/targets/vyos_static_route/tasks/cli.yaml
new file mode 100644
index 00000000..890d3acf
--- /dev/null
+++ b/tests/integration/targets/vyos_static_route/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_static_route/tasks/main.yaml b/tests/integration/targets/vyos_static_route/tasks/main.yaml
new file mode 100644
index 00000000..415c99d8
--- /dev/null
+++ b/tests/integration/targets/vyos_static_route/tasks/main.yaml
@@ -0,0 +1,2 @@
+---
+- { include: cli.yaml, tags: ['cli'] }
diff --git a/tests/integration/targets/vyos_static_route/tests/cli/basic.yaml b/tests/integration/targets/vyos_static_route/tests/cli/basic.yaml
new file mode 100644
index 00000000..122e49a6
--- /dev/null
+++ b/tests/integration/targets/vyos_static_route/tests/cli/basic.yaml
@@ -0,0 +1,120 @@
+---
+- debug: msg="START cli/basic.yaml on connection={{ ansible_connection }}"
+
+- name: create static route
+ vyos.vyos.vyos_static_route:
+ prefix: 172.24.0.0/24
+ next_hop: 192.168.42.64
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"set protocols static route 172.24.0.0/24 next-hop 192.168.42.64" in result.commands'
+
+- name: create static route again (idempotent)
+ vyos.vyos.vyos_static_route:
+ prefix: 172.24.0.0
+ mask: 24
+ next_hop: 192.168.42.64
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == false'
+
+- name: modify admin distance of static route
+ vyos.vyos.vyos_static_route:
+ prefix: 172.24.0.0/24
+ next_hop: 192.168.42.64
+ admin_distance: 1
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"set protocols static route 172.24.0.0/24 next-hop 192.168.42.64 distance 1" in result.commands'
+
+- name: modify admin distance of static route again (idempotent)
+ vyos.vyos.vyos_static_route:
+ prefix: 172.24.0.0
+ mask: 24
+ next_hop: 192.168.42.64
+ admin_distance: 1
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == false'
+
+- name: delete static route
+ vyos.vyos.vyos_static_route:
+ prefix: 172.24.0.0/24
+ next_hop: 192.168.42.64
+ admin_distance: 1
+ state: absent
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"delete protocols static route 172.24.0.0/24" in result.commands'
+
+- name: delete static route again (idempotent)
+ vyos.vyos.vyos_static_route:
+ prefix: 172.24.0.0/24
+ next_hop: 192.168.42.64
+ admin_distance: 1
+ state: absent
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == false'
+
+- name: Add static route collections
+ vyos.vyos.vyos_static_route:
+ aggregate:
+ - { prefix: 172.24.1.0/24, next_hop: 192.168.42.64 }
+ - { prefix: 172.24.2.0, mask: 24, next_hop: 192.168.42.64 }
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"set protocols static route 172.24.1.0/24 next-hop 192.168.42.64" in result.commands'
+ - '"set protocols static route 172.24.2.0/24 next-hop 192.168.42.64" in result.commands'
+
+- name: Add and remove static route collections with overrides
+ vyos.vyos.vyos_static_route:
+ aggregate:
+ - { prefix: 172.24.1.0/24, next_hop: 192.168.42.64 }
+ - { prefix: 172.24.2.0/24, next_hop: 192.168.42.64, state: absent }
+ - { prefix: 172.24.3.0/24, next_hop: 192.168.42.64 }
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"delete protocols static route 172.24.2.0/24" in result.commands'
+ - '"set protocols static route 172.24.3.0/24 next-hop 192.168.42.64" in result.commands'
+
+- name: Remove static route collections
+ vyos.vyos.vyos_static_route:
+ aggregate:
+ - { prefix: 172.24.1.0/24, next_hop: 192.168.42.64 }
+ - { prefix: 172.24.3.0/24, next_hop: 192.168.42.64 }
+ state: absent
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"delete protocols static route 172.24.1.0/24" in result.commands'
+ - '"delete protocols static route 172.24.3.0/24" in result.commands'
diff --git a/tests/integration/targets/vyos_static_route/tests/cli/net_static_route.yaml b/tests/integration/targets/vyos_static_route/tests/cli/net_static_route.yaml
new file mode 100644
index 00000000..e2529ebc
--- /dev/null
+++ b/tests/integration/targets/vyos_static_route/tests/cli/net_static_route.yaml
@@ -0,0 +1,33 @@
+---
+- debug: msg="START vyos cli/net_static_route.yaml on connection={{ ansible_connection }}"
+
+# Add minimal testcase to check args are passed correctly to
+# implementation module and module run is successful.
+
+- name: delete static route - setup
+ net_static_route:
+ prefix: 172.24.0.0/24
+ next_hop: 192.168.42.64
+ state: absent
+ register: result
+
+- name: create static route using platform agnostic module
+ net_static_route:
+ prefix: 172.24.0.0/24
+ next_hop: 192.168.42.64
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"set protocols static route 172.24.0.0/24 next-hop 192.168.42.64" in result.commands'
+
+- name: delete static route - teardown
+ net_static_route:
+ prefix: 172.24.0.0/24
+ next_hop: 192.168.42.64
+ state: absent
+ register: result
+
+- debug: msg="END vyos cli/net_static_route.yaml on connection={{ ansible_connection }}"