diff options
Diffstat (limited to 'tests/integration/targets/vyos_static_route')
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 }}" |