From 5ff854284fe7b13b47040378b1f3198b21fd8f9a Mon Sep 17 00:00:00 2001 From: Rohit Thakur Date: Thu, 30 Apr 2020 17:38:01 +0530 Subject: new states added Signed-off-by: Rohit Thakur --- .../vyos_lldp_global/tests/cli/_parsed_config.cfg | 2 ++ .../vyos_lldp_global/tests/cli/empty_config.yaml | 23 ++++++++++++ .../vyos_lldp_global/tests/cli/gathered.yaml | 33 +++++++++++++++++ .../targets/vyos_lldp_global/tests/cli/parsed.yaml | 41 ++++++++++++++++++++++ .../vyos_lldp_global/tests/cli/rendered.yaml | 38 ++++++++++++++++++++ .../targets/vyos_lldp_global/vars/main.yaml | 5 +++ 6 files changed, 142 insertions(+) create mode 100644 tests/integration/targets/vyos_lldp_global/tests/cli/_parsed_config.cfg create mode 100644 tests/integration/targets/vyos_lldp_global/tests/cli/gathered.yaml create mode 100644 tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml create mode 100644 tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml (limited to 'tests') diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/_parsed_config.cfg b/tests/integration/targets/vyos_lldp_global/tests/cli/_parsed_config.cfg new file mode 100644 index 00000000..4eedf01d --- /dev/null +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/_parsed_config.cfg @@ -0,0 +1,2 @@ +set service lldp legacy-protocols 'cdp' +set service lldp management-address '192.0.2.17' diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml index a197c454..0333fa41 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml @@ -24,3 +24,26 @@ - assert: that: - result.msg == 'value of config parameter must not be empty for state replaced' + +- name: Parsed with empty running_config should give appropriate error message + register: result + ignore_errors: true + vyos.vyos.vyos_lldp_global: + running_config: + state: parsed + +- assert: + that: + - result.msg == 'value of running_config parameter must not be empty for state + parsed' + +- name: Rendered with empty config should give appropriate error message + register: result + ignore_errors: true + vyos.vyos.vyos_lldp_global: + config: + state: rendered + +- assert: + that: + - result.msg == 'value of config parameter must not be empty for state rendered' diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/gathered.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/gathered.yaml new file mode 100644 index 00000000..8ba7dd5a --- /dev/null +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/gathered.yaml @@ -0,0 +1,33 @@ +--- +- debug: + msg: START vyos_lldp_global gathered integration tests on connection={{ + ansible_connection }} + +- include_tasks: _remove_config.yaml + +- include_tasks: _populate.yaml + +- block: + + - name: Merge the provided configuration with the exisiting running configuration + register: result + vyos.vyos.vyos_lldp_global: &id001 + config: + state: gathered + + - name: Assert that gathered dicts was correctly generated + assert: + that: + - "{{ populate == result['gathered'] }}" + + - name: Gather the existing running configuration (IDEMPOTENT) + register: result + vyos.vyos.vyos_lldp_global: *id001 + + - name: Assert that the previous task was idempotent + assert: + that: + - result['changed'] == false + always: + + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml new file mode 100644 index 00000000..21b93240 --- /dev/null +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml @@ -0,0 +1,41 @@ +--- +- debug: + msg: START vyos_lldp_global parsed integration tests on connection={{ ansible_connection + }} + +- include_tasks: _remove_config.yaml + +- include_tasks: _populate.yaml + +- block: + + - name: Gather lldp_global facts + register: lldp_global_facts + vyos.vyos.vyos_facts: + gather_subset: + - default + gather_network_resources: + - lldp_global + + - name: Provide the running configuration for parsing (config to be parsed) + register: result + vyos.vyos.vyos_lldp_global: &id001 + running_config: "{{ lookup('file', '_parsed_config.cfg') }}" + state: parsed + + - name: Assert that correct parsing done + assert: + that: "{{ ansible_facts['network_resources']['lldp_global'] == result['parsed']\ + \ }}" + + - name: Gather the existing running configuration (IDEMPOTENT) + register: result + vyos.vyos.vyos_lldp_global: *id001 + + - name: Assert that the previous task was idempotent + assert: + that: + - result['changed'] == false + always: + + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml new file mode 100644 index 00000000..a8327877 --- /dev/null +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml @@ -0,0 +1,38 @@ +--- +- debug: + msg: START vyos_lldp_global rendered integration tests on connection={{ + ansible_connection }} + +- include_tasks: _remove_config.yaml + +- include_tasks: _populate.yaml + +- block: + + - name: Structure provided configuration into device specific commands + register: result + vyos.vyos.vyos_lldp_global: &id001 + config: + address: 192.0.2.17 + enable: true + legacy_protocols: + - cdp + state: rendered + + - name: Assert that correct set of commands were generated + assert: + that: + - "{{ rendered['commands'] | symmetric_difference(result['rendered'])\ + \ |length == 0 }}" + + - name: Structure provided configuration into device specific commands (IDEMPOTENT) + register: result + vyos.vyos.vyos_lldp_global: *id001 + + - name: Assert that the previous task was idempotent + assert: + that: + - result['changed'] == false + always: + + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_global/vars/main.yaml b/tests/integration/targets/vyos_lldp_global/vars/main.yaml index 81e71bed..fb4b31e9 100644 --- a/tests/integration/targets/vyos_lldp_global/vars/main.yaml +++ b/tests/integration/targets/vyos_lldp_global/vars/main.yaml @@ -31,6 +31,11 @@ replaced: - cdp - edp - sonmp +rendered: + commands: + - set service lldp legacy-protocols 'cdp' + - set service lldp + - set service lldp management-address '192.0.2.17' deleted: commands: - delete service lldp management-address -- cgit v1.2.3 From 3314d6619c34636f19444031ef65c612a4c4d06f Mon Sep 17 00:00:00 2001 From: Rohit Thakur Date: Wed, 6 May 2020 17:15:08 +0530 Subject: common comments incorporated Signed-off-by: Rohit Thakur --- plugins/modules/vyos_lldp_global.py | 8 ++------ .../targets/vyos_lldp_global/tests/cli/gathered.yaml | 12 ++---------- .../targets/vyos_lldp_global/tests/cli/parsed.yaml | 10 +--------- .../targets/vyos_lldp_global/tests/cli/rendered.yaml | 10 +--------- 4 files changed, 6 insertions(+), 34 deletions(-) (limited to 'tests') diff --git a/plugins/modules/vyos_lldp_global.py b/plugins/modules/vyos_lldp_global.py index 80ec4c13..3a93c955 100644 --- a/plugins/modules/vyos_lldp_global.py +++ b/plugins/modules/vyos_lldp_global.py @@ -30,16 +30,13 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -ANSIBLE_METADATA = { - "metadata_version": "1.1", - "status": ["preview"], - "supported_by": "network", -} +ANSIBLE_METADATA = {"metadata_version": "1.1", "supported_by": "Ansible"} DOCUMENTATION = """module: vyos_lldp_global short_description: LLDP global resource module description: This module manages link layer discovery protocol (LLDP) attributes on VyOS devices. +version_added: "1.0.0" notes: - Tested against VyOS 1.1.8 (helium). - This module works with connection C(network_cli). See L(the VyOS OS Platform Options,../network/user_guide/platform_vyos.html). @@ -80,7 +77,6 @@ options: it into Ansible structured data as per the resource module's argspec and the value is then returned in the I(parsed) key within the result. type: str - version_added: "1.0.0" state: description: - The state of the configuration after module completion. diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/gathered.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/gathered.yaml index 8ba7dd5a..95e01de6 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/gathered.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/gathered.yaml @@ -9,9 +9,9 @@ - block: - - name: Merge the provided configuration with the exisiting running configuration + - name: Gather the provided configuration with the exisiting running configuration register: result - vyos.vyos.vyos_lldp_global: &id001 + vyos.vyos.vyos_lldp_global: config: state: gathered @@ -20,14 +20,6 @@ that: - "{{ populate == result['gathered'] }}" - - name: Gather the existing running configuration (IDEMPOTENT) - register: result - vyos.vyos.vyos_lldp_global: *id001 - - - name: Assert that the previous task was idempotent - assert: - that: - - result['changed'] == false always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml index 21b93240..173e3a6d 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml @@ -19,7 +19,7 @@ - name: Provide the running configuration for parsing (config to be parsed) register: result - vyos.vyos.vyos_lldp_global: &id001 + vyos.vyos.vyos_lldp_global: running_config: "{{ lookup('file', '_parsed_config.cfg') }}" state: parsed @@ -28,14 +28,6 @@ that: "{{ ansible_facts['network_resources']['lldp_global'] == result['parsed']\ \ }}" - - name: Gather the existing running configuration (IDEMPOTENT) - register: result - vyos.vyos.vyos_lldp_global: *id001 - - - name: Assert that the previous task was idempotent - assert: - that: - - result['changed'] == false always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml index a8327877..620fb78e 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml @@ -11,7 +11,7 @@ - name: Structure provided configuration into device specific commands register: result - vyos.vyos.vyos_lldp_global: &id001 + vyos.vyos.vyos_lldp_global: config: address: 192.0.2.17 enable: true @@ -25,14 +25,6 @@ - "{{ rendered['commands'] | symmetric_difference(result['rendered'])\ \ |length == 0 }}" - - name: Structure provided configuration into device specific commands (IDEMPOTENT) - register: result - vyos.vyos.vyos_lldp_global: *id001 - - - name: Assert that the previous task was idempotent - assert: - that: - - result['changed'] == false always: - include_tasks: _remove_config.yaml -- cgit v1.2.3 From eb0b2da9decdedffb669f53aeb0517b2b07c6748 Mon Sep 17 00:00:00 2001 From: Rohit Thakur Date: Fri, 8 May 2020 11:15:31 +0530 Subject: parsed test case updated Signed-off-by: Rohit Thakur --- .../vyos_lldp_global/tests/cli/_parsed_config.cfg | 1 + .../targets/vyos_lldp_global/tests/cli/parsed.yaml | 38 ++++++---------------- .../vyos_lldp_global/tests/cli/rendered.yaml | 2 -- .../targets/vyos_lldp_global/vars/main.yaml | 7 ++++ 4 files changed, 18 insertions(+), 30 deletions(-) (limited to 'tests') diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/_parsed_config.cfg b/tests/integration/targets/vyos_lldp_global/tests/cli/_parsed_config.cfg index 4eedf01d..9c9f66c5 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/_parsed_config.cfg +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/_parsed_config.cfg @@ -1,2 +1,3 @@ +set service lldp legacy-protocols 'fdp' set service lldp legacy-protocols 'cdp' set service lldp management-address '192.0.2.17' diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml index 173e3a6d..b9c3abf0 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/parsed.yaml @@ -3,31 +3,13 @@ msg: START vyos_lldp_global parsed integration tests on connection={{ ansible_connection }} -- include_tasks: _remove_config.yaml - -- include_tasks: _populate.yaml - -- block: - - - name: Gather lldp_global facts - register: lldp_global_facts - vyos.vyos.vyos_facts: - gather_subset: - - default - gather_network_resources: - - lldp_global - - - name: Provide the running configuration for parsing (config to be parsed) - register: result - vyos.vyos.vyos_lldp_global: - running_config: "{{ lookup('file', '_parsed_config.cfg') }}" - state: parsed - - - name: Assert that correct parsing done - assert: - that: "{{ ansible_facts['network_resources']['lldp_global'] == result['parsed']\ - \ }}" - - always: - - - include_tasks: _remove_config.yaml +- name: Parse externally provided LLDP global config to agnostic model + register: result + vyos.vyos.vyos_lldp_global: + running_config: "{{ lookup('file', '_parsed_config.cfg') }}" + state: parsed + +- name: Assert that config was correctly parsed + assert: + that: + - "{{ parsed['after'] == result['parsed'] }}" diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml index 620fb78e..5e9f4c5a 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/rendered.yaml @@ -5,8 +5,6 @@ - include_tasks: _remove_config.yaml -- include_tasks: _populate.yaml - - block: - name: Structure provided configuration into device specific commands diff --git a/tests/integration/targets/vyos_lldp_global/vars/main.yaml b/tests/integration/targets/vyos_lldp_global/vars/main.yaml index fb4b31e9..622b8e4d 100644 --- a/tests/integration/targets/vyos_lldp_global/vars/main.yaml +++ b/tests/integration/targets/vyos_lldp_global/vars/main.yaml @@ -31,6 +31,13 @@ replaced: - cdp - edp - sonmp +parsed: + after: + address: 192.0.2.17 + enable: true + legacy_protocols: + - fdp + - cdp rendered: commands: - set service lldp legacy-protocols 'cdp' -- cgit v1.2.3