def test_rules_installed_when_supported_and_enabled( self, mocks, libexec_exists ): mocks.m_which.return_value = 'udevadm' mocks.m_update_enabled.return_value = True m_cloud = mock.MagicMock() m_cloud.datasource.get_supported_events.return_value = { EventScope.NETWORK: {EventType.HOTPLUG} } if libexec_exists: libexecdir = "/usr/libexec/cloud-init" else: libexecdir = "/usr/lib/cloud-init" with mock.patch('os.path.exists', return_value=libexec_exists): handle(None, {}, m_cloud, mock.Mock(), None) mocks.m_write.assert_called_once_with( filename=HOTPLUG_UDEV_PATH, content=HOTPLUG_UDEV_RULES_TEMPLATE.format( libexecdir=libexecdir), ) assert mocks.m_subp.call_args_list == [mock.call([ 'udevadm', 'control', '--reload-rules', ])] assert mocks.m_del.call_args_list == []
def test_rules_not_installed_when_unsupported(self, mocks): mocks.m_update_enabled.return_value = True m_cloud = mock.MagicMock() m_cloud.datasource.get_supported_events.return_value = {} handle(None, {}, m_cloud, mock.Mock(), None) assert mocks.m_write.call_args_list == [] assert mocks.m_del.call_args_list == [] assert mocks.m_subp.call_args_list == []
def test_rules_not_installed_when_disabled(self, mocks): mocks.m_update_enabled.return_value = False m_cloud = mock.MagicMock() m_cloud.datasource.get_supported_events.return_value = { EventScope.NETWORK: {EventType.HOTPLUG} } handle(None, {}, m_cloud, mock.Mock(), None) assert mocks.m_write.call_args_list == [] assert mocks.m_del.call_args_list == [] assert mocks.m_subp.call_args_list == []
def test_rules_uninstalled_when_disabled(self, mocks): mocks.m_path_exists.return_value = True mocks.m_update_enabled.return_value = False m_cloud = mock.MagicMock() m_cloud.datasource.get_supported_events.return_value = {} handle(None, {}, m_cloud, mock.Mock(), None) mocks.m_del.assert_called_with(HOTPLUG_UDEV_PATH) assert mocks.m_subp.call_args_list == [mock.call([ 'udevadm', 'control', '--reload-rules', ])] assert mocks.m_write.call_args_list == []