def get_class_by_platform_test(self): """Test get_class_by_platform.""" # Test unknown platform. cls = BootLoaderFactory.get_class_by_platform(Mock()) self.assertEqual(cls, None) # Test known platforms. boot_loader_by_platform = { platform.X86: GRUB2, platform.EFI: EFIGRUB, platform.MacEFI: MacEFIGRUB, platform.PPC: GRUB2, platform.IPSeriesPPC: IPSeriesGRUB2, platform.PowerNV: PowerNVGRUB2, platform.S390: ZIPL, platform.Aarch64EFI: Aarch64EFIGRUB, platform.ARM: EXTLINUX, platform.ArmEFI: ArmEFIGRUB } for platform_type, boot_loader_class in boot_loader_by_platform.items( ): # Get the boot loader class. cls = BootLoaderFactory.get_class_by_platform(platform_type) self.assertEqual(cls, boot_loader_class) # Get the boot loader instance. obj = cls() self.assertIsInstance(obj, BootLoader)
def test_get_class_by_name(self): """Test get_class_by_name.""" cls = BootLoaderFactory.get_class_by_name("EXTLINUX") assert cls == EXTLINUX cls = BootLoaderFactory.get_class_by_name("DEFAULT") assert cls is None
def get_class_by_name_test(self): """Test get_class_by_name.""" cls = BootLoaderFactory.get_class_by_name("EXTLINUX") self.assertEqual(cls, EXTLINUX) cls = BootLoaderFactory.get_class_by_name("DEFAULT") self.assertEqual(cls, None)
def get_default_class_test(self): """Test get_default_class.""" cls = BootLoaderFactory.get_default_class() self.assertEqual(cls, None) BootLoaderFactory.set_default_class(EXTLINUX) cls = BootLoaderFactory.get_default_class() self.assertEqual(cls, EXTLINUX)
def test_get_default_class(self): """Test get_default_class.""" cls = BootLoaderFactory.get_default_class() assert cls is None BootLoaderFactory.set_default_class(EXTLINUX) cls = BootLoaderFactory.get_default_class() assert cls == EXTLINUX
def set_default_type(self, default_type): """Set the default type of the boot loader. :param default_type: an instance of BootloaderType """ # Set up the bootloader factory. cls = BootLoaderFactory.get_class_by_name(default_type.value) BootLoaderFactory.set_default_class(cls) # Set up the property. self._default_type = default_type log.debug("The default type is set to '%s'.", default_type)
def _validate_grub2_configuration(self, data): """Validate the GRUB2 configuration. :raise: KickstartParseError if not valid """ # Skip other types of the boot loader. if not issubclass(BootLoaderFactory.get_class(), GRUB2): return # Check the location support. if self.preferred_location == BOOTLOADER_LOCATION_PARTITION: raise KickstartParseError(_("GRUB2 does not support installation to a partition."), lineno=data.bootloader.lineno) # Check the password format. if self.password_is_set \ and self.password_is_encrypted \ and not self.password.startswith("grub.pbkdf2."): raise KickstartParseError(_("GRUB2 encrypted password must be in grub.pbkdf2 format."), lineno=data.bootloader.lineno)
def get_generic_class_test(self): """Test get_generic_class.""" cls = BootLoaderFactory.get_generic_class() self.assertEqual(cls, BootLoader)
def create_boot_loader_test(self): """Test create_boot_loader.""" boot_loader = BootLoaderFactory.create_boot_loader() self.assertIsNotNone(boot_loader) self.assertIsInstance(boot_loader, BootLoader)
def __exit__(self, *exc): from pyanaconda.modules.storage.bootloader import BootLoaderFactory BootLoaderFactory.set_default_class(None) return False
def __enter__(self): from pyanaconda.modules.storage.bootloader import BootLoaderFactory BootLoaderFactory.set_default_class(self._default_type) return self
def bootloader(self): if self._bootloader is None: self._bootloader = BootLoaderFactory.create_boot_loader() return self._bootloader
def test_get_generic_class(self): """Test get_generic_class.""" cls = BootLoaderFactory.get_generic_class() assert cls == BootLoader
def test_create_boot_loader(self): """Test create_boot_loader.""" boot_loader = BootLoaderFactory.create_boot_loader() assert boot_loader is not None assert isinstance(boot_loader, BootLoader)