Exemplo n.º 1
0
    def test_check_selection(self, kernel_getter):
        kernel_getter.return_value = None
        dnf_manager = Mock()

        selection = PackagesSelectionData()
        selection.core_group_enabled = False
        selection.environment = "e1"

        selection.packages = ["p1", "p2"]
        selection.excluded_packages = ["p3", "p4"]

        selection.groups = ["g1", "g2"]
        selection.excluded_groups = ["g3", "g4"]

        selection.modules = ["m1", "m2"]
        selection.disabled_modules = ["m3", "m4"]

        task = CheckPackagesSelectionTask(dnf_manager, selection)
        report = task.run()

        dnf_manager.clear_selection.assert_called_once_with()
        dnf_manager.disable_modules.assert_called_once_with(["m3", "m4"])
        dnf_manager.enable_modules.assert_called_once_with(["m1", "m2"])
        dnf_manager.apply_specs.assert_called_once_with(
            ["@e1", "@g1", "@g2", "p1", "p2"],
            ["@core", "@g3", "@g4", "p3", "p4"])
        dnf_manager.resolve_selection.assert_called_once_with()
        assert report.get_messages() == []
Exemplo n.º 2
0
    def test_get_installation_specs_packages(self):
        """Test the get_installation_specs function with packages."""
        data = PackagesSelectionData()
        data.packages = ["p1", "p2", "p3"]
        data.excluded_packages = ["p4", "p5", "p6"]

        assert get_installation_specs(data) == (["@core", "p1", "p2",
                                                 "p3"], ["p4", "p5", "p6"])
Exemplo n.º 3
0
    def get_installation_specs_packages_test(self):
        """Test the get_installation_specs function with packages."""
        data = PackagesSelectionData()
        data.packages = ["p1", "p2", "p3"]
        data.excluded_packages = ["p4", "p5", "p6"]

        self.assertEqual(get_installation_specs(data),
                         (["@core", "p1", "p2", "p3"], ["p4", "p5", "p6"]))
Exemplo n.º 4
0
    def _process_kickstart_packages_selection(self, data):
        """Process the kickstart packages selection."""
        selection = PackagesSelectionData()
        selection.core_group_enabled = not data.packages.nocore
        selection.default_environment_enabled = data.packages.default

        if data.packages.environment is not None:
            selection.environment = data.packages.environment

        selection.packages = data.packages.packageList
        selection.excluded_packages = data.packages.excludedList

        for group in data.packages.groupList:
            selection.groups.append(group.name)

            if group.include == GROUP_ALL:
                selection.groups_package_types[
                    group.name] = GROUP_PACKAGE_TYPES_ALL

            if group.include == GROUP_REQUIRED:
                selection.groups_package_types[
                    group.name] = GROUP_PACKAGE_TYPES_REQUIRED

        for group in data.packages.excludedGroupList:
            selection.excluded_groups.append(group.name)

        for module in data.module.dataList():
            name = module.name

            if module.stream:
                name += ":" + module.stream

            if module.enable:
                selection.modules.append(name)
            else:
                selection.disabled_modules.append(name)

        self.set_packages_selection(selection)
        self.set_packages_kickstarted(data.packages.seen)
Exemplo n.º 5
0
    def test_resolve(self, kernel_getter, req_getter1, req_getter2, req_getter3, req_getter4):
        """Test the successful ResolvePackagesTask task."""
        kernel_getter.return_value = None

        req_getter1.return_value = [
            Requirement.for_group("r1"),
            Requirement.for_group("r2")
        ]
        req_getter2.return_value = [
            Requirement.for_group("r3")
        ]
        req_getter3.return_value = [
            Requirement.for_package("r4"),
            Requirement.for_package("r5")
        ]
        req_getter4.return_value = [
            Requirement.for_package("r6")
        ]

        selection = PackagesSelectionData()
        selection.excluded_groups = ["r3"]
        selection.excluded_packages = ["r6"]

        dnf_manager = Mock()
        dnf_manager.default_environment = None

        task = ResolvePackagesTask(dnf_manager, selection)
        task.run()

        dnf_manager.clear_selection.assert_called_once_with()
        dnf_manager.disable_modules.assert_called_once_with([])
        dnf_manager.enable_modules.assert_called_once_with([])
        dnf_manager.apply_specs.assert_called_once_with(
            ["@core", "@r1", "@r2", "r4", "r5"], ["@r3", "r6"]
        )
        dnf_manager.resolve_selection.assert_called_once_with()