def test_start_module_failed(self): """Fail to start a module.""" service_names = [ "org.fedoraproject.Anaconda.Modules.A", "org.fedoraproject.Anaconda.Modules.B", "org.fedoraproject.Anaconda.Modules.C", ] task = StartModulesTask(self._message_bus, service_names, addons_enabled=False) def call(): raise DBusError("Fake error!") def fake_callbacks(fake_observer): for observer in task._module_observers: task._start_service_by_name_callback(call, observer) task._callbacks.put((None, fake_callbacks)) with self.assertRaises(UnavailableModuleError) as cm: task.run() expected = "Service org.fedoraproject.Anaconda.Modules.A has failed to start: Fake error!" self.assertEqual(str(cm.exception), expected)
def test_start_addon_failed(self, gio): """Fail to start an add-on.""" service_names = [ "org.fedoraproject.Anaconda.Addons.A", "org.fedoraproject.Anaconda.Addons.B", "org.fedoraproject.Anaconda.Addons.C" ] bus_proxy = self._message_bus.proxy bus_proxy.ListActivatableNames.return_value = [ *service_names, "org.fedoraproject.Anaconda.D", "org.fedoraproject.E", ] task = StartModulesTask(self._message_bus, [], addons_enabled=True) self._check_started_modules(task, service_names) def call(): raise DBusError("Fake error!") def fake_callbacks(fake_observer): for observer in task._module_observers: task._start_service_by_name_callback(call, observer) task._callbacks.put((None, fake_callbacks)) self.assertEqual(task.run(), [])
def test_start_addon_failed(self, gio): """Fail to start an add-on.""" service_namespaces = [ "org.fedoraproject.Anaconda.Addons.*" ] service_names = [ "org.fedoraproject.Anaconda.Addons.A", "org.fedoraproject.Anaconda.Addons.B", "org.fedoraproject.Anaconda.Addons.C" ] task = StartModulesTask( message_bus=self._message_bus, activatable=service_namespaces, optional=service_namespaces, forbidden=[] ) self._check_started_modules(task, service_names) def call(): raise DBusError("Fake error!") def fake_callbacks(fake_observer): for observer in task._module_observers: task._start_service_by_name_callback(call, observer) task._callbacks.put((None, fake_callbacks)) self.assertEqual(task.run(), [])