mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add vyos smoke integration tests. (#35456)
* added preliminary vyos smoke tests * added comments, determined current tests are sufficient * add tests for check mode in module_utils.network.vyos * removed vyos_smoke from shippable * added comment explaining why AWS/Shippable tests won't work
This commit is contained in:
parent
7917e3c988
commit
69cd705634
6 changed files with 99 additions and 0 deletions
3
test/integration/targets/vyos_smoke/defaults/main.yaml
Normal file
3
test/integration/targets/vyos_smoke/defaults/main.yaml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
testcase: "*"
|
||||||
|
test_items: []
|
22
test/integration/targets/vyos_smoke/tasks/cli.yaml
Normal file
22
test/integration/targets/vyos_smoke/tasks/cli.yaml
Normal file
|
@ -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
|
2
test/integration/targets/vyos_smoke/tasks/main.yaml
Normal file
2
test/integration/targets/vyos_smoke/tasks/main.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
- { include: cli.yaml, tags: ['cli'] }
|
|
@ -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_config:
|
||||||
|
lines: set system host-name smoke
|
||||||
|
|
||||||
|
- name: return host name to inventory_hostname
|
||||||
|
vyos_config:
|
||||||
|
lines: set system host-name {{ inventory_hostname_short }}
|
||||||
|
match: none
|
|
@ -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_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_interface:
|
||||||
|
name: eth1
|
||||||
|
enabled: True
|
||||||
|
state: present
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check intent arguments
|
||||||
|
vyos_interface:
|
||||||
|
name: eth1
|
||||||
|
state: up
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check intent arguments (failed condition)
|
||||||
|
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_interface:
|
||||||
|
name: eth1
|
||||||
|
enabled: False
|
||||||
|
state: down
|
|
@ -0,0 +1,13 @@
|
||||||
|
# hit check conditional in module_utils.network.vyos -> load_config()
|
||||||
|
- name: configure simple config command
|
||||||
|
vyos_config:
|
||||||
|
lines: set system host-name check-test
|
||||||
|
check_mode: yes
|
||||||
|
|
||||||
|
- name: get host name
|
||||||
|
vyos_command:
|
||||||
|
commands: show host name
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that: '"check-test" not in result.stdout'
|
Loading…
Reference in a new issue