def _test_kickstart(self, ks_in, ks_out):
        """Simulate the kickstart test.

        FIXME: This is a temporary workaround.
        """
        spec = AnacondaKickstartSpecification

        # Parse a kickstart string.
        ks_in = dedent(ks_in).strip()
        handler = KickstartSpecificationHandler(spec)
        parser = KickstartSpecificationParser(handler, spec)
        parser.readKickstartFromString(ks_in)

        self.repositories = list(
            map(convert_ks_repo_to_repo_data, handler.repo.dataList()))

        # Verify the DBus data.
        RepoConfigurationData.to_structure_list(self.repositories)

        # Generate a kickstart string.
        ks_out = dedent(ks_out).strip()
        handler = KickstartSpecificationHandler(spec)

        for repo_data in self.repositories:
            ks_repo = convert_repo_data_to_ks_repo(repo_data)
            handler.repo.dataList().append(ks_repo)

        ks_generated = str(handler).strip()
        assert ks_generated == ks_out
Exemple #2
0
 def _check_payload_type(self, payload_type, kickstart):
     """Check the payload type for the given kickstart."""
     specification = PayloadKickstartSpecification
     handler = KickstartSpecificationHandler(specification)
     parser = KickstartSpecificationParser(handler, specification)
     parser.readKickstartFromString(kickstart)
     self.assertEqual(payload_type, PayloadFactory.get_type_for_kickstart(handler))
Exemple #3
0
    def configure_base_test(self):
        """Test the configuration of the DNF base."""
        data = KickstartSpecificationHandler(PayloadKickstartSpecification)

        self.dnf_manager.configure_base(data)
        self._check_configuration(
            "multilib_policy = best",
            "timeout = 30",
            "retries = 10",
            "install_weak_deps = 1",
        )

        self.assertEqual(self.dnf_manager._ignore_broken_packages, False)
        self.assertEqual(self.dnf_manager._ignore_missing_packages, False)

        data.packages.multiLib = True
        data.packages.timeout = 100
        data.packages.retries = 5
        data.packages.handleBroken = KS_BROKEN_IGNORE
        data.packages.handleMissing = KS_MISSING_IGNORE
        data.packages.excludeWeakdeps = True

        self.dnf_manager.configure_base(data)
        self._check_configuration(
            "multilib_policy = all",
            "timeout = 100",
            "retries = 5",
            "install_weak_deps = 0",
        )

        self.assertEqual(self.dnf_manager._ignore_broken_packages, True)
        self.assertEqual(self.dnf_manager._ignore_missing_packages, True)
 def _check_method(self, method, kickstart):
     """Check the partitioning method of the given kickstart."""
     specification = StorageKickstartSpecification
     handler = KickstartSpecificationHandler(specification)
     parser = KickstartSpecificationParser(handler, specification)
     parser.readKickstartFromString(kickstart)
     self.assertEqual(method, PartitioningFactory.get_method_for_kickstart(handler))
Exemple #5
0
    def parse_kickstart(self, specification, kickstart_input, kickstart_output=None):
        """Parse a kickstart string using the given specification."""
        handler = KickstartSpecificationHandler(specification)
        parser = KickstartSpecificationParser(handler, specification)
        parser.readKickstartFromString(dedent(kickstart_input))

        if kickstart_output is not None:
            self.assertEqual(str(handler).strip(), dedent(kickstart_output).strip())

        return handler
Exemple #6
0
    def parser_test(self):
        """Check the specification parser."""
        for specification in self.SPECIFICATIONS:
            print("Checking specification {}...".format(specification.__name__))

            # Create the kickstart parser.
            handler = KickstartSpecificationHandler(specification)
            parser = KickstartSpecificationParser(handler, specification)

            # Read an empty string.
            parser.readKickstartFromString("")
Exemple #7
0
    def handler_test(self):
        """Check the specification handler."""
        for specification in self.SPECIFICATIONS:
            print("Checking specification {}...".format(specification.__name__))

            # Create the kickstart handler.
            handler = KickstartSpecificationHandler(specification)

            # Test if the handler provides the required data objects.
            for command in specification.commands:
                getattr(handler.commands[command], "dataClass")
Exemple #8
0
    def test_packages_kickstarted_property(self):
        """Test the PackagesKickstarted property."""
        assert self.interface.PackagesKickstarted is False

        data = KickstartSpecificationHandler(PayloadKickstartSpecification)

        self.module.process_kickstart(data)
        assert self.interface.PackagesKickstarted is False

        data.packages.seen = True
        self.module.process_kickstart(data)
        assert self.interface.PackagesKickstarted is True
Exemple #9
0
    def packages_kickstarted_property_test(self):
        """Test the PackagesKickstarted property."""
        self.assertEqual(self.interface.PackagesKickstarted, False)

        data = KickstartSpecificationHandler(PayloadKickstartSpecification)

        self.module.process_kickstart(data)
        self.assertEqual(self.interface.PackagesKickstarted, False)

        data.packages.seen = True
        self.module.process_kickstart(data)
        self.assertEqual(self.interface.PackagesKickstarted, True)
Exemple #10
0
    def get_kickstart_handler(self):
        """Return a kickstart handler.

        :return: a kickstart handler
        """
        return KickstartSpecificationHandler(self.kickstart_specification)
Exemple #11
0
 def _get_data(self):
     """Get the kickstart data for the Payloads module."""
     return KickstartSpecificationHandler(
         PayloadKickstartSpecification
     )
 def parse_kickstart(self, specification, kickstart_input):
     """Parse a kickstart string using the given specification."""
     handler = KickstartSpecificationHandler(specification)
     parser = KickstartSpecificationParser(handler, specification)
     parser.readKickstartFromString(kickstart_input)
     return handler