예제 #1
0
    def set_up_sources_task_test(self):
        """Test task to set up installation sources."""
        called_position = []

        def save_position(name):
            called_position.append(name)
            return DEFAULT

        set_up_task1 = create_autospec(Task)
        set_up_task2 = create_autospec(Task)
        set_up_task3 = create_autospec(Task)

        set_up_task1.run.side_effect = lambda: save_position("task1")
        set_up_task2.run.side_effect = lambda: save_position("task2")
        set_up_task3.run.side_effect = lambda: save_position("task3")

        source1 = create_autospec(PayloadSourceBase)
        source2 = create_autospec(PayloadSourceBase)

        source1.set_up_with_tasks.side_effect = lambda: save_position("source1")
        source1.set_up_with_tasks.return_value = [set_up_task1, set_up_task2]
        source2.set_up_with_tasks.side_effect = lambda: save_position("source2")
        source2.set_up_with_tasks.return_value = [set_up_task3]

        task = SetUpSourcesTask([source1, source2])

        task.run()

        source1.set_up_with_tasks.assert_called_once()
        source2.set_up_with_tasks.assert_called_once()
        set_up_task1.run.assert_called_once()
        set_up_task2.run.assert_called_once()
        set_up_task3.run.assert_called_once()
        self.assertEqual(["source1", "task1", "task2", "source2", "task3"], called_position)
예제 #2
0
파일: live_os.py 프로젝트: Wirtl/anaconda
    def set_up_sources_with_task(self):
        """Set up installation sources."""
        self._check_source_availability(
            "Set up source failed - source is not set!")

        task = SetUpSourcesTask(self._sources)
        task.succeeded_signal.connect(
            lambda: self.set_required_space(self._get_required_space()))

        return task
예제 #3
0
    def set_up_sources_task_with_exception_test(self):
        """Test task to set up installation sources which raise exception."""
        set_up_task1 = create_autospec(Task)
        set_up_task2 = create_autospec(Task)
        set_up_task3 = create_autospec(Task)

        set_up_task2.run.side_effect = SourceSetupError("task2 error")

        source1 = create_autospec(PayloadSourceBase)
        source2 = create_autospec(PayloadSourceBase)

        source1.set_up_with_tasks.return_value = [set_up_task1, set_up_task2]
        source2.set_up_with_tasks.return_value = [set_up_task3]

        task = SetUpSourcesTask([source1, source2])

        with self.assertRaises(SourceSetupError):
            task.run()

        set_up_task1.run.assert_called_once()
        set_up_task2.run.assert_called_once()
        set_up_task3.run.assert_not_called()
예제 #4
0
    def set_up_sources_task_without_sources_test(self):
        """Test task to set up installation sources without sources set."""
        task = SetUpSourcesTask([])

        with self.assertRaises(SourceSetupError):
            task.run()
예제 #5
0
파일: live_os.py 프로젝트: idjevm/anaconda
    def set_up_sources_with_task(self):
        """Set up installation source."""
        self._check_source_availability(
            "Set up source failed - source is not set!")

        return SetUpSourcesTask(self._sources)