def run(self):
        self.report_progress(_("Starting Flatpak installation"))
        flatpak_manager = FlatpakManager(self._sysroot)

        # Initialize new repo on the installed system
        flatpak_manager.initialize_with_system_path()
        flatpak_manager.install_all()

        self.report_progress(_("Post-installation flatpak tasks"))
        flatpak_manager.add_remote("fedora", "oci+https://registry.fedoraproject.org")
        flatpak_manager.replace_installed_refs_remote("fedora")
        flatpak_manager.remove_remote(FlatpakManager.LOCAL_REMOTE_NAME)

        self.report_progress(_("Flatpak installation has finished"))
    def test_add_remote(self, remote_cls, installation_cls, transaction_cls):
        """Test flatpak add new remote."""
        flatpak = FlatpakManager("remote/path")

        self._setup_flatpak_objects(remote_cls, installation_cls, transaction_cls)

        flatpak.initialize_with_system_path()
        flatpak.add_remote("hive", "url://zerglings/home")

        remote_cls.new.assert_called_with("hive")
        self._remote.set_gpg_verify.assert_called_with(True)
        self._remote.set_url("url://zerglings/home")
        self.assertEqual(remote_cls.new.call_count, 2)
        self.assertEqual(self._installation.add_remote.call_count, 2)
    def run(self):
        self.report_progress(_("Starting Flatpak installation"))

        flatpak_manager = FlatpakManager(self._sysroot)

        # Initialize new repo on the installed system
        flatpak_manager.initialize_with_system_path()

        try:
            flatpak_manager.install_all()
        except FlatpakInstallError as e:
            raise PayloadInstallError(
                "Failed to install flatpaks: {}".format(e)) from e

        self.report_progress(_("Post-installation flatpak tasks"))

        flatpak_manager.add_remote("fedora",
                                   "oci+https://registry.fedoraproject.org")
        flatpak_manager.replace_installed_refs_remote("fedora")
        flatpak_manager.remove_remote(FlatpakManager.LOCAL_REMOTE_NAME)

        self.report_progress(_("Flatpak installation has finished"))