diff options
author | Adam Dobrawy <ad-m@users.noreply.github.com> | 2020-03-31 19:37:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-31 13:37:12 -0400 |
commit | ed350acb7a941ef16b2f9e19b223b58901e6b431 (patch) | |
tree | 738f08e7c9881243d599a885ec26c26819258f8f /tests | |
parent | d00126c167fc06d913d99cfc184bf3402cb8cf53 (diff) | |
download | vyos-cloud-init-ed350acb7a941ef16b2f9e19b223b58901e6b431.tar.gz vyos-cloud-init-ed350acb7a941ef16b2f9e19b223b58901e6b431.zip |
rbxcloud: gracefully handle arping errors (#262)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unittests/test_datasource/test_rbx.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/unittests/test_datasource/test_rbx.py b/tests/unittests/test_datasource/test_rbx.py index aabf1f18..553af62e 100644 --- a/tests/unittests/test_datasource/test_rbx.py +++ b/tests/unittests/test_datasource/test_rbx.py @@ -4,6 +4,7 @@ from cloudinit import helpers from cloudinit import distros from cloudinit.sources import DataSourceRbxCloud as ds from cloudinit.tests.helpers import mock, CiTestCase, populate_dir +from cloudinit import util DS_PATH = "cloudinit.sources.DataSourceRbxCloud" @@ -199,6 +200,35 @@ class TestRbxDataSource(CiTestCase): m_subp.call_args_list ) + @mock.patch( + DS_PATH + '.util.subp', + side_effect=util.ProcessExecutionError() + ) + def test_continue_on_arping_error(self, m_subp): + """Continue when command error""" + items = [ + { + 'destination': '172.17.0.2', + 'source': '172.16.6.104' + }, + { + 'destination': '172.17.0.2', + 'source': '172.16.6.104', + }, + ] + ds.gratuitous_arp(items, self._fetch_distro('ubuntu')) + self.assertEqual([ + mock.call([ + 'arping', '-c', '2', '-S', + '172.16.6.104', '172.17.0.2' + ]), + mock.call([ + 'arping', '-c', '2', '-S', + '172.16.6.104', '172.17.0.2' + ]) + ], m_subp.call_args_list + ) + def populate_cloud_metadata(path, data): populate_dir(path, {'cloud.json': json.dumps(data)}) |