summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMatt Martz <matt@sivel.net>2022-10-26 16:07:29 -0500
committerGitHub <noreply@github.com>2022-10-26 16:07:29 -0500
commite0d20bc4781ff003c59ed7815fd2252656a9dd4a (patch)
tree325ba76019abba263d4b8619b2c450e26e107f73 /test
parent1a583e3c0d67a63cef1b1a433f176b7983d39812 (diff)
downloadansible-e0d20bc4781ff003c59ed7815fd2252656a9dd4a.tar.gz
[stable-2.13] Don't assume column index for netmask and broadcast (#79121) (#79133)
* Don't assume column index for netmask and broadcast. Fixes #79117 * fix typo (cherry picked from commit f53dbf9) Co-authored-by: Matt Martz <matt@sivel.net>
Diffstat (limited to 'test')
-rw-r--r--test/units/module_utils/facts/network/test_generic_bsd.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/units/module_utils/facts/network/test_generic_bsd.py b/test/units/module_utils/facts/network/test_generic_bsd.py
index afb698c571..f061f04d8a 100644
--- a/test/units/module_utils/facts/network/test_generic_bsd.py
+++ b/test/units/module_utils/facts/network/test_generic_bsd.py
@@ -173,3 +173,45 @@ class TestGenericBsdNetworkNetBSD(unittest.TestCase):
'filter': '*'}
mock_module.get_bin_path = Mock(return_value=None)
return mock_module
+
+ def test_ensure_correct_netmask_parsing(self):
+ n = generic_bsd.GenericBsdIfconfigNetwork(None)
+ lines = [
+ 'inet 192.168.7.113 netmask 0xffffff00 broadcast 192.168.7.255',
+ 'inet 10.109.188.206 --> 10.109.188.206 netmask 0xffffe000',
+ ]
+ expected = [
+ (
+ {
+ 'ipv4': [
+ {
+ 'address': '192.168.7.113',
+ 'netmask': '255.255.255.0',
+ 'network': '192.168.7.0',
+ 'broadcast': '192.168.7.255'
+ }
+ ]
+ },
+ {'all_ipv4_addresses': ['192.168.7.113']},
+ ),
+ (
+ {
+ 'ipv4': [
+ {
+ 'address': '10.109.188.206',
+ 'netmask': '255.255.224.0',
+ 'network': '10.109.160.0',
+ 'broadcast': '10.109.191.255'
+ }
+ ]
+ },
+ {'all_ipv4_addresses': ['10.109.188.206']},
+ ),
+ ]
+ for i, line in enumerate(lines):
+ words = line.split()
+ current_if = {'ipv4': []}
+ ips = {'all_ipv4_addresses': []}
+ n.parse_inet_line(words, current_if, ips)
+ self.assertDictEqual(current_if, expected[i][0])
+ self.assertDictEqual(ips, expected[i][1])