Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:saltstack:bundle:ubi-9
venv-salt-minion
mock-ip_addrs-in-utils-minions.py-unit-test-443...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mock-ip_addrs-in-utils-minions.py-unit-test-443.patch of Package venv-salt-minion
From a363596e5e02307680859432da9935905b749846 Mon Sep 17 00:00:00 2001 From: Alexander Graul <agraul@suse.com> Date: Wed, 19 Jan 2022 17:33:01 +0100 Subject: [PATCH] Mock ip_addrs() in utils/minions.py unit test (#443) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously the test used `salt.utils.network.ip_addrs()' in the same way that the tested code did. This worked well as long as at least one IP address was returned by `salt.utils.network.ip_addrs()'. Since this is a unit test, it should not depend on the environment, it should just work™, even if there are no real IP addresses assigned to the system (or container) that runs the test. Co-authored-by: Pablo Suárez Hernández <psuarezhernandez@suse.com> --- tests/pytests/unit/utils/test_minions.py | 36 +++++++++++++----------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/tests/pytests/unit/utils/test_minions.py b/tests/pytests/unit/utils/test_minions.py index a9eee20ea1..6bc6c80bbd 100644 --- a/tests/pytests/unit/utils/test_minions.py +++ b/tests/pytests/unit/utils/test_minions.py @@ -8,18 +8,22 @@ def test_connected_ids(): test ckminion connected_ids when local_port_tcp returns 127.0.0.1 """ - opts = {"publish_port": 4505, "detect_remote_minions": False} + opts = { + "publish_port": 4505, + "detect_remote_minions": False, + "minion_data_cache": True, + } minion = "minion" - ip = salt.utils.network.ip_addrs() - mdata = {"grains": {"ipv4": ip, "ipv6": []}} - ckminions = salt.utils.minions.CkMinions({"minion_data_cache": True}) + ips = {"203.0.113.1", "203.0.113.2"} + mdata = {"grains": {"ipv4": ips, "ipv6": []}} + patch_ip_addrs = patch("salt.utils.network.local_port_tcp", return_value=ips) patch_net = patch("salt.utils.network.local_port_tcp", return_value={"127.0.0.1"}) patch_list = patch("salt.cache.Cache.list", return_value=[minion]) patch_fetch = patch("salt.cache.Cache.fetch", return_value=mdata) - with patch.dict(ckminions.opts, opts): - with patch_net, patch_list, patch_fetch: - ret = ckminions.connected_ids() - assert ret == {minion} + ckminions = salt.utils.minions.CkMinions(opts) + with patch_net, patch_ip_addrs, patch_list, patch_fetch: + ret = ckminions.connected_ids() + assert ret == {minion} def test_connected_ids_remote_minions(): @@ -31,21 +35,21 @@ def test_connected_ids_remote_minions(): "publish_port": 4505, "detect_remote_minions": True, "remote_minions_port": 22, + "minion_data_cache": True, } minion = "minion" minion2 = "minion2" minion2_ip = "192.168.2.10" - ip = salt.utils.network.ip_addrs() - mdata = {"grains": {"ipv4": ip, "ipv6": []}} + minion_ips = {"203.0.113.1", "203.0.113.2", "127.0.0.1"} + mdata = {"grains": {"ipv4": minion_ips, "ipv6": []}} mdata2 = {"grains": {"ipv4": [minion2_ip], "ipv6": []}} - ckminions = salt.utils.minions.CkMinions({"minion_data_cache": True}) - patch_net = patch("salt.utils.network.local_port_tcp", return_value={"127.0.0.1"}) + patch_net = patch("salt.utils.network.local_port_tcp", return_value=minion_ips) patch_remote_net = patch( "salt.utils.network.remote_port_tcp", return_value={minion2_ip} ) patch_list = patch("salt.cache.Cache.list", return_value=[minion, minion2]) patch_fetch = patch("salt.cache.Cache.fetch", side_effect=[mdata, mdata2]) - with patch.dict(ckminions.opts, opts): - with patch_net, patch_list, patch_fetch, patch_remote_net: - ret = ckminions.connected_ids() - assert ret == {minion2, minion} + ckminions = salt.utils.minions.CkMinions(opts) + with patch_net, patch_list, patch_fetch, patch_remote_net: + ret = ckminions.connected_ids() + assert ret == {minion2, minion} -- 2.34.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor