summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorShreenidhi Shedi <53473811+sshedi@users.noreply.github.com>2021-08-31 00:51:10 +0530
committerGitHub <noreply@github.com>2021-08-30 14:21:10 -0500
commit7fc3f08ebc20eb496b3d318bb718ece569b10dba (patch)
tree9399b1b552aafa5f16096bd54e1566c1576bdc40 /tests
parentde8931edc4093013fd685938e1c4e5a3d53f653c (diff)
downloadvyos-cloud-init-7fc3f08ebc20eb496b3d318bb718ece569b10dba.tar.gz
vyos-cloud-init-7fc3f08ebc20eb496b3d318bb718ece569b10dba.zip
Add support to accept-ra in networkd renderer (#999)
Also fix search path in networkd
Diffstat (limited to 'tests')
-rw-r--r--tests/unittests/test_net.py74
-rw-r--r--tests/unittests/test_net_activators.py4
2 files changed, 76 insertions, 2 deletions
diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py
index fc77b11e..094450b4 100644
--- a/tests/unittests/test_net.py
+++ b/tests/unittests/test_net.py
@@ -1205,6 +1205,13 @@ NETWORK_CONFIGS = {
USERCTL=no
"""),
},
+ 'expected_networkd': textwrap.dedent("""\
+ [Match]
+ Name=iface0
+ [Network]
+ DHCP=ipv6
+ IPv6AcceptRA=True
+ """).rstrip(' '),
},
'dhcpv6_reject_ra': {
'expected_eni': textwrap.dedent("""\
@@ -1260,6 +1267,13 @@ NETWORK_CONFIGS = {
USERCTL=no
"""),
},
+ 'expected_networkd': textwrap.dedent("""\
+ [Match]
+ Name=iface0
+ [Network]
+ DHCP=ipv6
+ IPv6AcceptRA=False
+ """).rstrip(' '),
},
'ipv6_slaac': {
'expected_eni': textwrap.dedent("""\
@@ -5203,6 +5217,66 @@ class TestNetworkdRoundTrip(CiTestCase):
self.compare_dicts(actual, expected)
+ @mock.patch("cloudinit.net.util.chownbyname", return_value=True)
+ def test_dhcpv6_accept_ra_config_v1(self, m_chown):
+ nwk_fn = '/etc/systemd/network/10-cloud-init-iface0.network'
+ entry = NETWORK_CONFIGS['dhcpv6_accept_ra']
+ files = self._render_and_read(network_config=yaml.load(
+ entry['yaml_v1']))
+
+ actual = files[nwk_fn].splitlines()
+ actual = self.create_conf_dict(actual)
+
+ expected = entry['expected_networkd'].splitlines()
+ expected = self.create_conf_dict(expected)
+
+ self.compare_dicts(actual, expected)
+
+ @mock.patch("cloudinit.net.util.chownbyname", return_value=True)
+ def test_dhcpv6_accept_ra_config_v2(self, m_chown):
+ nwk_fn = '/etc/systemd/network/10-cloud-init-iface0.network'
+ entry = NETWORK_CONFIGS['dhcpv6_accept_ra']
+ files = self._render_and_read(network_config=yaml.load(
+ entry['yaml_v2']))
+
+ actual = files[nwk_fn].splitlines()
+ actual = self.create_conf_dict(actual)
+
+ expected = entry['expected_networkd'].splitlines()
+ expected = self.create_conf_dict(expected)
+
+ self.compare_dicts(actual, expected)
+
+ @mock.patch("cloudinit.net.util.chownbyname", return_value=True)
+ def test_dhcpv6_reject_ra_config_v1(self, m_chown):
+ nwk_fn = '/etc/systemd/network/10-cloud-init-iface0.network'
+ entry = NETWORK_CONFIGS['dhcpv6_reject_ra']
+ files = self._render_and_read(network_config=yaml.load(
+ entry['yaml_v1']))
+
+ actual = files[nwk_fn].splitlines()
+ actual = self.create_conf_dict(actual)
+
+ expected = entry['expected_networkd'].splitlines()
+ expected = self.create_conf_dict(expected)
+
+ self.compare_dicts(actual, expected)
+
+ @mock.patch("cloudinit.net.util.chownbyname", return_value=True)
+ def test_dhcpv6_reject_ra_config_v2(self, m_chown):
+ nwk_fn = '/etc/systemd/network/10-cloud-init-iface0.network'
+ entry = NETWORK_CONFIGS['dhcpv6_reject_ra']
+ files = self._render_and_read(network_config=yaml.load(
+ entry['yaml_v2']))
+
+ actual = files[nwk_fn].splitlines()
+ actual = self.create_conf_dict(actual)
+
+ expected = entry['expected_networkd'].splitlines()
+ expected = self.create_conf_dict(expected)
+
+ self.compare_dicts(actual, expected)
+
class TestRenderersSelect:
diff --git a/tests/unittests/test_net_activators.py b/tests/unittests/test_net_activators.py
index 38f2edf2..f63a8b74 100644
--- a/tests/unittests/test_net_activators.py
+++ b/tests/unittests/test_net_activators.py
@@ -118,8 +118,8 @@ NETWORK_MANAGER_AVAILABLE_CALLS = [
]
NETWORKD_AVAILABLE_CALLS = [
- (('ip',), {'search': ['/usr/bin', '/bin'], 'target': None}),
- (('systemctl',), {'search': ['/usr/bin', '/bin'], 'target': None}),
+ (('ip',), {'search': ['/usr/sbin', '/bin'], 'target': None}),
+ (('systemctl',), {'search': ['/usr/sbin', '/bin'], 'target': None}),
]