コード例 #1
0
    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)
コード例 #2
0
    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(), [])
コード例 #3
0
    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(), [])