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
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))
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))
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
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("")
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")
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
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)
def get_kickstart_handler(self): """Return a kickstart handler. :return: a kickstart handler """ return KickstartSpecificationHandler(self.kickstart_specification)
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