Skip to content

Commit 4337381

Browse files
agraulmeaksh
authored andcommitted
Mock ip_addrs() in utils/minions.py unit test
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>
1 parent cbabd4b commit 4337381

1 file changed

Lines changed: 20 additions & 17 deletions

File tree

tests/pytests/unit/utils/test_minions.py

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,21 @@ def test_connected_ids():
88
test ckminion connected_ids when
99
local_port_tcp returns 127.0.0.1
1010
"""
11-
opts = {"publish_port": 4505, "detect_remote_minions": False}
11+
opts = {
12+
"publish_port": 4505,
13+
"detect_remote_minions": False,
14+
"minion_data_cache": True,
15+
}
1216
minion = "minion"
13-
ip = salt.utils.network.ip_addrs()
14-
mdata = {"grains": {"ipv4": ip, "ipv6": []}}
15-
ckminions = salt.utils.minions.CkMinions({"minion_data_cache": True})
16-
patch_net = patch("salt.utils.network.local_port_tcp", return_value={"127.0.0.1"})
17+
ips = {"203.0.113.1", "203.0.113.2", "127.0.0.1"}
18+
mdata = {"grains": {"ipv4": ips, "ipv6": []}}
19+
patch_net = patch("salt.utils.network.local_port_tcp", return_value=ips)
1720
patch_list = patch("salt.cache.Cache.list", return_value=[minion])
1821
patch_fetch = patch("salt.cache.Cache.fetch", return_value=mdata)
19-
with patch.dict(ckminions.opts, opts):
20-
with patch_net, patch_list, patch_fetch:
21-
ret = ckminions.connected_ids()
22-
assert ret == {minion}
22+
ckminions = salt.utils.minions.CkMinions(opts)
23+
with patch_net, patch_list, patch_fetch:
24+
ret = ckminions.connected_ids()
25+
assert ret == {minion}
2326

2427

2528
def test_connected_ids_remote_minions():
@@ -31,21 +34,21 @@ def test_connected_ids_remote_minions():
3134
"publish_port": 4505,
3235
"detect_remote_minions": True,
3336
"remote_minions_port": 22,
37+
"minion_data_cache": True,
3438
}
3539
minion = "minion"
3640
minion2 = "minion2"
3741
minion2_ip = "192.168.2.10"
38-
ip = salt.utils.network.ip_addrs()
39-
mdata = {"grains": {"ipv4": ip, "ipv6": []}}
42+
minion_ips = {"203.0.113.1", "203.0.113.2", "127.0.0.1"}
43+
mdata = {"grains": {"ipv4": minion_ips, "ipv6": []}}
4044
mdata2 = {"grains": {"ipv4": [minion2_ip], "ipv6": []}}
41-
ckminions = salt.utils.minions.CkMinions({"minion_data_cache": True})
42-
patch_net = patch("salt.utils.network.local_port_tcp", return_value={"127.0.0.1"})
45+
patch_net = patch("salt.utils.network.local_port_tcp", return_value=minion_ips)
4346
patch_remote_net = patch(
4447
"salt.utils.network.remote_port_tcp", return_value={minion2_ip}
4548
)
4649
patch_list = patch("salt.cache.Cache.list", return_value=[minion, minion2])
4750
patch_fetch = patch("salt.cache.Cache.fetch", side_effect=[mdata, mdata2])
48-
with patch.dict(ckminions.opts, opts):
49-
with patch_net, patch_list, patch_fetch, patch_remote_net:
50-
ret = ckminions.connected_ids()
51-
assert ret == {minion2, minion}
51+
ckminions = salt.utils.minions.CkMinions(opts)
52+
with patch_net, patch_list, patch_fetch, patch_remote_net:
53+
ret = ckminions.connected_ids()
54+
assert ret == {minion2, minion}

0 commit comments

Comments
 (0)