diff options
author | Gaige B Paulsen <gaige@cluetrust.com> | 2025-02-07 14:11:19 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-07 11:11:19 -0800 |
commit | d75becb8e46d764552b0df605ef9192592ae2633 (patch) | |
tree | 1a8d98cfd62ee956017302685d6e0d0453833764 /tests | |
parent | 4b1cc399b285fbf3f2535424b444d8d3282515c5 (diff) | |
download | vyos.vyos-d75becb8e46d764552b0df605ef9192592ae2633.tar.gz vyos.vyos-d75becb8e46d764552b0df605ef9192592ae2633.zip |
T7011: fix: lldp global integration (#385)
* T7011: fix: lldp global integration
* T7011: Fix lldp interfaces integration
Diffstat (limited to 'tests')
19 files changed, 221 insertions, 121 deletions
diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/deleted.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/deleted.yaml index 9cf87b8..66c792c 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/deleted.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/deleted.yaml @@ -14,17 +14,17 @@ - name: Assert that the before dicts were correctly generated assert: that: - - "{{ populate == result['before']}}" + - populate == result['before'] - name: Assert that the correct set of commands were generated assert: that: - - "{{ deleted['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + - deleted['commands'] | symmetric_difference(result['commands']) |length == 0 - name: Assert that the after dicts were correctly generated assert: that: - - "{{ deleted['after'] == result['after']}}" + - deleted['after'] == result['after'] - name: Delete attributes of given interfaces (IDEMPOTENT) register: result @@ -38,6 +38,6 @@ - name: Assert that the before dicts were correctly generated assert: that: - - "{{ deleted['after'] == result['before'] }}" + - deleted['after'] == result['before'] always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/merged.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/merged.yaml index a2e8e6b..915a290 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/merged.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/merged.yaml @@ -17,17 +17,17 @@ - name: Assert that before dicts were correctly generated assert: - that: "{{ merged['before'] == result['before'] }}" + that: merged['before'] == result['before'] - name: Assert that correct set of commands were generated assert: that: - - "{{ merged['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + - merged['commands'] | symmetric_difference(result['commands']) |length == 0 - name: Assert that after dicts was correctly generated assert: that: - - "{{ merged['after'] == result['after'] }}" + - merged['after'] == result['after'] - name: Merge the provided configuration with the existing running configuration (IDEMPOTENT) register: result @@ -41,6 +41,6 @@ - name: Assert that before dicts were correctly generated assert: that: - - "{{ merged['after'] == result['before'] }}" + - merged['after'] == result['before'] always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/replaced.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/replaced.yaml index c74aa46..ad0f53b 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/replaced.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/replaced.yaml @@ -19,17 +19,17 @@ - name: Assert that correct set of commands were generated assert: that: - - "{{ replaced['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + - replaced['commands'] | symmetric_difference(result['commands']) |length == 0 - name: Assert that before dicts are correctly generated assert: that: - - "{{ populate == result['before'] }}" + - populate == result['before'] - name: Assert that after dict is correctly generated assert: that: - - "{{ replaced['after'] == result['after'] }}" + - replaced['after'] == result['after'] - name: Replace device configurations of LLDP service with provided configurarions (IDEMPOTENT) register: result @@ -43,6 +43,6 @@ - name: Assert that before dict is correctly generated assert: that: - - "{{ replaced['after'] == result['before'] }}" + - replaced['after'] == result['before'] always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/rtt.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/rtt.yaml index 10fe454..d4ea595 100644 --- a/tests/integration/targets/vyos_lldp_global/tests/cli/rtt.yaml +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/rtt.yaml @@ -35,7 +35,7 @@ - name: Assert that changes were applied assert: - that: "{{ round_trip['after'] == result['after'] }}" + that: round_trip['after'] == result['after'] - name: Revert back to base config using facts round trip register: revert @@ -45,6 +45,6 @@ - name: Assert that config was reverted assert: - that: "{{ base_config['after'] == revert['after'] }}" + that: base_config['after'] == revert['after'] 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 622b8e4..dbfe1f3 100644 --- a/tests/integration/targets/vyos_lldp_global/vars/main.yaml +++ b/tests/integration/targets/vyos_lldp_global/vars/main.yaml @@ -1,7 +1,8 @@ --- merged: before: - address: 192.0.2.17 + addresses: + - 192.0.2.17 enable: true legacy_protocols: - cdp @@ -9,13 +10,16 @@ merged: - set service lldp management-address '192.0.2.11' - set service lldp legacy-protocols 'fdp' after: - address: 192.0.2.11 + addresses: + - 192.0.2.17 + - 192.0.2.11 enable: true legacy_protocols: - cdp - fdp populate: - address: 192.0.2.17 + addresses: + - 192.0.2.17 enable: true legacy_protocols: - cdp @@ -24,8 +28,10 @@ replaced: - set service lldp legacy-protocols 'edp' - set service lldp legacy-protocols 'sonmp' - set service lldp management-address '192.0.2.14' + - delete service lldp management-address '192.0.2.17' after: - address: 192.0.2.14 + addresses: + - 192.0.2.14 enable: true legacy_protocols: - cdp @@ -33,7 +39,8 @@ replaced: - sonmp parsed: after: - address: 192.0.2.17 + addresses: + - 192.0.2.17 enable: true legacy_protocols: - fdp @@ -45,13 +52,14 @@ rendered: - set service lldp management-address '192.0.2.17' deleted: commands: - - delete service lldp management-address - - delete service lldp legacy-protocols - after: - enable: true + - delete service lldp + after: [] + round_trip: after: - address: 192.0.2.14 + addresses: + - 192.0.2.11 + - 192.0.2.14 enable: true legacy_protocols: - cdp diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_parsed_config.cfg b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_parsed_config.cfg index 737449c..767daca 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_parsed_config.cfg +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_parsed_config.cfg @@ -1,5 +1,4 @@ -set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH' -set service lldp interface eth1 location civic-based country-code 'US' +set service lldp interface eth1 location elin '0000000911' set service lldp interface eth2 location coordinate-based altitude '2200' set service lldp interface eth2 location coordinate-based datum 'WGS84' set service lldp interface eth2 location coordinate-based latitude '33.524449N' diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_populate.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_populate.yaml index 5ed9e98..21f8dd2 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_populate.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_populate.yaml @@ -2,15 +2,12 @@ - ansible.builtin.include_tasks: _remove_config.yaml - name: Setup - vars: - lines: >- - "set service lldp interface eth1\nset service lldp interface eth1 location - civic-based country-code US\nset service lldp interface eth1 location - civic-based ca-type 0 ca-value ENGLISH\nset service lldp interface - eth2\nset service lldp interface eth2 location coordinate-based latitude - 33.524449N\nset service lldp interface eth2 location coordinate-based - altitude 2200\nset service lldp interface eth2 location coordinate-based - datum WGS84\nset service lldp interface eth2 location coordinate-based - longitude 222.267255W\n" ansible.netcommon.cli_config: - config: "{{ lines }}" + config: |- + set service lldp interface eth1 + set service lldp interface eth1 location elin '0000000911' + set service lldp interface eth2 + set service lldp interface eth2 location coordinate-based latitude 33.524449N + set service lldp interface eth2 location coordinate-based altitude 2200 + set service lldp interface eth2 location coordinate-based datum WGS84 + set service lldp interface eth2 location coordinate-based longitude 222.267255W diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_populate_intf.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_populate_intf.yaml index c1e3a8c..334b205 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_populate_intf.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_populate_intf.yaml @@ -1,10 +1,8 @@ --- - name: Setup vars: - lines: >- - "set service lldp interface eth2 - \nset service lldp interface eth2 location civic-based country-code US - \nset service lldp interface eth2 location civic-based ca-type 0 ca-value ENGLISH - \nset service lldp interface eth2 disable" ansible.netcommon.cli_config: - config: "{{ lines }}" + config: |- + set service lldp interface eth2 + set service lldp interface eth2 location elin '0000000911' + set service lldp interface eth2 disable diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_remove_config.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_remove_config.yaml index c8ab352..abd81ed 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_remove_config.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/_remove_config.yaml @@ -1,6 +1,6 @@ --- - name: Remove Config - vars: - lines: "delete service lldp interface\ndelete service lldp\n" ansible.netcommon.cli_config: - config: "{{ lines }}" + config: |- + delete service lldp interface + delete service lldp diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/gathered.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/gathered.yaml index 7b8e778..17e660b 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/gathered.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/gathered.yaml @@ -14,6 +14,6 @@ - name: Assert that gathered dicts was correctly generated assert: that: - - "{{ populate | symmetric_difference(result['gathered']) |length == 0 }}" + - populate | symmetric_difference(result['gathered']) |length == 0 always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/merged.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/merged.yaml index ecf7597..4a8d877 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/merged.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/merged.yaml @@ -11,11 +11,7 @@ config: - name: eth1 location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 - name: eth2 location: @@ -28,17 +24,17 @@ - name: Assert that before dicts were correctly generated assert: - that: "{{ merged['before'] | symmetric_difference(result['before']) |length == 0 }}" + that: merged['before'] | symmetric_difference(result['before']) |length == 0 - name: Assert that correct set of commands were generated assert: that: - - "{{ merged['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + - merged['commands'] | symmetric_difference(result['commands']) |length == 0 - name: Assert that after dicts was correctly generated assert: that: - - "{{ merged['after'] | symmetric_difference(result['after']) |length == 0 }}" + - merged['after'] | symmetric_difference(result['after']) |length == 0 - name: Merge the provided configuration with the existing running configuration (IDEMPOTENT) register: result @@ -52,6 +48,6 @@ - name: Assert that before dicts were correctly generated assert: that: - - "{{ merged['after'] | symmetric_difference(result['before']) |length == 0 }}" + - merged['after'] | symmetric_difference(result['before']) |length == 0 always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/overridden.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/overridden.yaml index 7050481..539b314 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/overridden.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/overridden.yaml @@ -19,17 +19,17 @@ - name: Assert that before dicts were correctly generated assert: that: - - "{{ populate_intf | symmetric_difference(result['before']) |length == 0 }}" + - populate_intf | symmetric_difference(result['before']) |length == 0 - name: Assert that correct commands were generated assert: that: - - "{{ overridden['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + - overridden['commands'] | symmetric_difference(result['commands']) |length == 0 - name: Assert that after dicts were correctly generated assert: that: - - "{{ overridden['after'] | symmetric_difference(result['after']) |length == 0 }}" + - overridden['after'] | symmetric_difference(result['after']) |length == 0 - name: Overrides all device configuration with provided configurations (IDEMPOTENT) register: result @@ -43,6 +43,6 @@ - name: Assert that before dicts were correctly generated assert: that: - - "{{ overridden['after'] | symmetric_difference(result['before']) |length == 0 }}" + - overridden['after'] | symmetric_difference(result['before']) |length == 0 always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/parsed.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/parsed.yaml index c312934..0e7b4f0 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/parsed.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/parsed.yaml @@ -11,4 +11,4 @@ - name: Assert that config was correctly parsed assert: that: - - "{{ parsed['after'] | symmetric_difference(result['parsed']) |length == 0 }}" + - parsed['after'] | symmetric_difference(result['parsed']) |length == 0 diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/rendered.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/rendered.yaml index 3eb2538..1a7966f 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/rendered.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/rendered.yaml @@ -11,11 +11,7 @@ config: - name: eth1 location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 - name: eth2 location: coordinate_based: @@ -28,6 +24,6 @@ - name: Assert that correct set of commands were generated assert: that: - - "{{ rendered['commands'] | symmetric_difference(result['rendered']) |length == 0 }}" + - rendered['commands'] | symmetric_difference(result['rendered']) |length == 0 always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/replaced.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/replaced.yaml index e914c99..5fe2164 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/replaced.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/replaced.yaml @@ -12,11 +12,7 @@ - name: eth2 enable: false location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 - name: eth1 enable: false @@ -31,17 +27,17 @@ - name: Assert that correct set of commands were generated assert: that: - - "{{ replaced['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + - replaced['commands'] | symmetric_difference(result['commands']) |length == 0 - name: Assert that before dicts are correctly generated assert: that: - - "{{ populate | symmetric_difference(result['before']) |length == 0 }}" + - populate | symmetric_difference(result['before']) |length == 0 - name: Assert that after dict is correctly generated assert: that: - - "{{ replaced['after'] | symmetric_difference(result['after']) |length == 0 }}" + - replaced['after'] | symmetric_difference(result['after']) |length == 0 - name: Replace device configurations of listed LLDP interfaces with provided configurarions (IDEMPOTENT) register: result @@ -55,6 +51,6 @@ - name: Assert that before dict is correctly generated assert: that: - - "{{ replaced['after'] | symmetric_difference(result['before']) |length == 0 }}" + - replaced['after'] | symmetric_difference(result['before']) |length == 0 always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/rtt.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/rtt.yaml index 6cf5d69..6223985 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/rtt.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/rtt.yaml @@ -11,11 +11,7 @@ config: - name: eth1 location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 state: merged - name: Gather lldp_interfaces facts @@ -40,7 +36,7 @@ - name: Assert that changes were applied assert: - that: "{{ round_trip['after'] | symmetric_difference(result['after']) |length == 0 }}" + that: round_trip['after'] | symmetric_difference(result['after']) |length == 0 - name: Revert back to base config using facts round trip register: revert @@ -50,6 +46,6 @@ - name: Assert that config was reverted assert: - that: "{{ base_config['after'] | symmetric_difference(revert['after']) |length == 0 }}" + that: base_config['after'] | symmetric_difference(revert['after']) |length == 0 always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_lldp_interfaces/vars/main.yaml b/tests/integration/targets/vyos_lldp_interfaces/vars/main.yaml index 092f653..ce1567e 100644 --- a/tests/integration/targets/vyos_lldp_interfaces/vars/main.yaml +++ b/tests/integration/targets/vyos_lldp_interfaces/vars/main.yaml @@ -2,8 +2,7 @@ merged: before: [] commands: - - set service lldp interface eth1 location civic-based country-code 'US' - - set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH' + - set service lldp interface eth1 location elin '0000000911' - set service lldp interface eth1 - set service lldp interface eth2 location coordinate-based latitude '33.524449N' - set service lldp interface eth2 location coordinate-based altitude '2200' @@ -13,11 +12,7 @@ merged: after: - name: eth1 location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 - name: eth2 location: coordinate_based: @@ -28,11 +23,7 @@ merged: populate: - name: eth1 location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 - name: eth2 location: coordinate_based: @@ -42,8 +33,7 @@ populate: latitude: 33.524449N rendered: commands: - - set service lldp interface eth1 location civic-based country-code 'US' - - set service lldp interface eth1 location civic-based ca-type 0 ca-value 'ENGLISH' + - set service lldp interface eth1 location elin '0000000911' - set service lldp interface eth1 - set service lldp interface eth2 location coordinate-based latitude '33.524449N' - set service lldp interface eth2 location coordinate-based altitude '2200' @@ -54,8 +44,7 @@ replaced: commands: - delete service lldp interface eth2 location - set service lldp interface eth2 'disable' - - set service lldp interface eth2 location civic-based country-code 'US' - - set service lldp interface eth2 location civic-based ca-type 0 ca-value 'ENGLISH' + - set service lldp interface eth2 location elin '0000000911' - delete service lldp interface eth1 location - set service lldp interface eth1 'disable' - set service lldp interface eth1 location coordinate-based latitude '33.524449N' @@ -66,11 +55,7 @@ replaced: - name: eth2 enable: false location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 - name: eth1 enable: false location: @@ -83,16 +68,10 @@ populate_intf: - name: eth2 enable: false location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: "0000000911" overridden: commands: - - delete service lldp interface eth2 location - delete service lldp interface eth2 'disable' - - set service lldp interface eth2 location elin '0000000911' after: - name: eth2 location: @@ -101,11 +80,7 @@ parsed: after: - name: eth1 location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 - name: eth2 location: coordinate_based: @@ -122,11 +97,7 @@ round_trip: after: - name: eth1 location: - civic_based: - country_code: US - ca_info: - - ca_type: 0 - ca_value: ENGLISH + elin: 0000000911 - name: eth2 location: coordinate_based: diff --git a/tests/unit/modules/network/vyos/fixtures/vyos_lldp_global_config.cfg b/tests/unit/modules/network/vyos/fixtures/vyos_lldp_global_config.cfg new file mode 100644 index 0000000..05b8fa7 --- /dev/null +++ b/tests/unit/modules/network/vyos/fixtures/vyos_lldp_global_config.cfg @@ -0,0 +1,4 @@ +set service lldp management-address '192.0.2.14' +set service lldp management-address 'ff00::1' +set service lldp legacy-protocols 'cdp' +set service lldp legacy-protocols 'fdp' diff --git a/tests/unit/modules/network/vyos/test_vyos_lldp_global.py b/tests/unit/modules/network/vyos/test_vyos_lldp_global.py new file mode 100644 index 0000000..0dc1a8d --- /dev/null +++ b/tests/unit/modules/network/vyos/test_vyos_lldp_global.py @@ -0,0 +1,139 @@ +# (c) 2021 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. + +# Make coding more python3-ish +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +from unittest.mock import patch + +from ansible_collections.vyos.vyos.plugins.modules import vyos_lldp_global +from ansible_collections.vyos.vyos.tests.unit.modules.utils import set_module_args + +from .vyos_module import TestVyosModule, load_fixture + + +class TestVyosLLDPModule(TestVyosModule): + module = vyos_lldp_global + + def setUp(self): + super(TestVyosLLDPModule, self).setUp() + + self.mock_get_resource_connection_config = patch( + "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.cfg.base.get_resource_connection", + ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() + + self.mock_get_resource_connection_facts = patch( + "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.facts.facts.get_resource_connection", + ) + self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() + + self.mock_get_config = patch( + "ansible_collections.vyos.vyos.plugins.module_utils.network.vyos.facts.lldp_global.lldp_global.Lldp_globalFacts.get_config", + ) + self.get_config = self.mock_get_config.start() + + def tearDown(self): + super(TestVyosLLDPModule, self).tearDown() + + self.mock_get_resource_connection_config.stop() + self.mock_get_resource_connection_facts.stop() + self.mock_get_config.stop() + + def load_fixtures(self, commands=None, filename=None): + self.get_config.return_value = load_fixture("vyos_lldp_global_config.cfg") + + def test_vyos_lldp_global_merge_enabled(self): + set_module_args(dict(config=dict(enable=True))) + self.execute_module(changed=False) + + def test_vyos_lldp_global_merge_disabled(self): + set_module_args(dict(config=dict(enable=False))) + self.execute_module(changed=True, commands=["delete service lldp"]) + + def test_vyos_lldp_global_merge_addresses(self): + set_module_args( + dict( + config=dict( + enable=True, + addresses=["192.0.0.1"], + ), + ), + ) + self.execute_module( + changed=True, + commands=["set service lldp management-address '192.0.0.1'"], + ) + + def test_vyos_lldp_global_replace_addresses(self): + set_module_args( + dict( + config=dict( + enable=True, + addresses=["192.0.0.1"], + legacy_protocols=["cdp", "fdp"], + ), + state="replaced", + ), + ) + commands = [ + "set service lldp management-address '192.0.0.1'", + "delete service lldp management-address '192.0.2.14'", + "delete service lldp management-address 'ff00::1'", + ] + self.execute_module(changed=True, commands=commands) + + def test_vyos_lldp_global_replace_protocols(self): + set_module_args( + dict( + config=dict( + enable=True, + addresses=["192.0.2.14", "ff00::1"], + legacy_protocols=["cdp"], + ), + state="replaced", + ), + ) + commands = [ + "delete service lldp legacy-protocols 'fdp'", + ] + self.execute_module(changed=True, commands=commands) + + def test_vyos_lldp_global_replace_address(self): + set_module_args( + dict( + config=dict( + enable=True, + address="192.0.0.1", + legacy_protocols=["cdp", "fdp"], + ), + state="replaced", + ), + ) + commands = [ + "set service lldp management-address '192.0.0.1'", + "delete service lldp management-address '192.0.2.14'", + "delete service lldp management-address 'ff00::1'", + ] + self.execute_module(changed=True, commands=commands) + + def test_vyos_lldp_global_delete_all(self): + set_module_args(dict(config=dict(), state="deleted")) + self.execute_module(changed=True, commands=["delete service lldp"]) |