def process_kickstart(self, data): """Process the kickstart data.""" # Create a new payload module. payload_type = PayloadFactory.get_type_for_kickstart(data) if payload_type: payload_module = self.create_payload(payload_type) payload_module.process_kickstart(data) # FIXME: This is a temporary workaround. PayloadContainer.to_object_path(payload_module)
def process_kickstart(self, data): """Process the kickstart data.""" # Create a new payload module. payload_type = PayloadFactory.get_type_for_kickstart(data) if payload_type: payload_module = self.create_payload(payload_type) payload_module.process_kickstart(data) # FIXME: This is a temporary workaround. PayloadContainer.to_object_path(payload_module) # FIXME: Process packages in the DNF module. # The packages module should be replaces with a DBus structure. self._packages.process_kickstart(data)
def process_kickstart(self, data): """Process the kickstart data.""" log.debug("Processing kickstart data...") # create payload if no payload is set already if not self.is_payload_set(): payload = PayloadFactory.create_from_ks_data(data) if not payload: log.warning("No payload was created. Kickstart data passed in are lost.") return payload.process_kickstart(data) self._packages.process_kickstart(data) self.set_payload(payload) PayloadContainer.to_object_path(payload)
def ActivatePayload(self, payload: ObjPath): """Activate the payload. :param payload: a path to a payload """ self.implementation.activate_payload( PayloadContainer.from_object_path(payload) )
def CreatedPayloads(self) -> List[ObjPath]: """List of all created payload modules. :return: a list of DBus paths """ return PayloadContainer.to_object_path_list( self.implementation.created_payloads )
def GetActivePayload(self) -> ObjPath: """Get active payload. TODO: Do we need to think about ActivePayload? It would be easier to remove this concept. :raise: PayloadNotSetError if payload is not set """ return PayloadContainer.to_object_path( self.implementation.get_active_payload())
def create_live_image_payload_test(self, publisher): """Test creation and publishing of the Live image payload module.""" payload_path = self.payload_interface.CreatePayload( PayloadType.LIVE_IMAGE.value) self.assertEqual(self.payload_interface.GetActivePayload(), payload_path) self.assertIsInstance(PayloadContainer.from_object_path(payload_path), LiveImageModule) publisher.assert_called_once()
def create_dnf_payload_test(self, publisher): """Test creation and publishing of the DNF payload module.""" payload_path = self.payload_interface.CreatePayload( PayloadType.DNF.value) self.assertEqual(self.payload_interface.GetActivePayload(), payload_path) self.assertIsInstance(PayloadContainer.from_object_path(payload_path), DNFModule) publisher.assert_called_once()
def create_live_os_payload_test(self, publisher): """Test creation and publishing of the Live OS payload module.""" payload_path = self.payload_interface.CreatePayload(PayloadType.LIVE_OS.value) self.assertEqual(self.payload_interface.CreatedPayloads, [payload_path]) self.payload_interface.ActivatePayload(payload_path) self.assertEqual(self.payload_interface.ActivePayload, payload_path) self.assertIsInstance(PayloadContainer.from_object_path(payload_path), LiveOSModule) publisher.assert_called_once()
def CreatePayload(self, payload_type: Str) -> ObjPath: """Create payload and publish it on DBus. payload_type could contain these values: - DNF - LIVE_OS - LIVE_IMAGE """ return PayloadContainer.to_object_path( self.implementation.create_payload(PayloadType(payload_type)))
def ActivePayload(self) -> Str: """The active payload. :return: a DBus path or an empty string """ payload = self.implementation.active_payload if not payload: return "" return PayloadContainer.to_object_path(payload)
def test_create_dnf_payload(self, publisher): """Test creation and publishing of the DNF payload module.""" payload_path = self.payload_interface.CreatePayload( PayloadType.DNF.value) assert self.payload_interface.CreatedPayloads == [payload_path] self.payload_interface.ActivatePayload(payload_path) assert self.payload_interface.ActivePayload == payload_path assert isinstance(PayloadContainer.from_object_path(payload_path), DNFModule) publisher.assert_called_once()
def test_create_live_image_payload(self, publisher): """Test creation and publishing of the Live image payload module.""" payload_path = self.payload_interface.CreatePayload( PayloadType.LIVE_IMAGE.value) assert self.payload_interface.CreatedPayloads == [payload_path] self.payload_interface.ActivatePayload(payload_path) assert self.payload_interface.ActivePayload == payload_path assert isinstance(PayloadContainer.from_object_path(payload_path), LiveImageModule) publisher.assert_called_once()