From b7852f55c8c89e16c404e5dcbdb3c234f44856d3 Mon Sep 17 00:00:00 2001 From: Evgeniy Alekseev Date: Fri, 7 Jul 2023 03:15:02 +0300 Subject: [PATCH] remove unsafe flag from handlers This flag became reduntant there and tree creation has been moved to lock --- .../application/application/application.py | 4 +-- .../application/application_properties.py | 5 ++-- src/ahriman/application/handlers/add.py | 7 ++--- src/ahriman/application/handlers/backup.py | 4 +-- src/ahriman/application/handlers/clean.py | 6 ++-- src/ahriman/application/handlers/daemon.py | 8 ++---- src/ahriman/application/handlers/dump.py | 4 +-- src/ahriman/application/handlers/handler.py | 6 ++-- src/ahriman/application/handlers/help.py | 4 +-- .../application/handlers/key_import.py | 6 ++-- src/ahriman/application/handlers/patch.py | 6 ++-- src/ahriman/application/handlers/rebuild.py | 6 ++-- src/ahriman/application/handlers/remove.py | 6 ++-- .../application/handlers/remove_unknown.py | 6 ++-- src/ahriman/application/handlers/restore.py | 4 +-- src/ahriman/application/handlers/search.py | 6 ++-- .../application/handlers/service_updates.py | 6 ++-- src/ahriman/application/handlers/setup.py | 6 ++-- src/ahriman/application/handlers/shell.py | 6 ++-- src/ahriman/application/handlers/sign.py | 6 ++-- src/ahriman/application/handlers/status.py | 6 ++-- .../application/handlers/status_update.py | 6 ++-- src/ahriman/application/handlers/structure.py | 6 ++-- src/ahriman/application/handlers/triggers.py | 6 ++-- .../application/handlers/unsafe_commands.py | 4 +-- src/ahriman/application/handlers/update.py | 7 ++--- src/ahriman/application/handlers/users.py | 4 +-- src/ahriman/application/handlers/validate.py | 4 +-- src/ahriman/application/handlers/versions.py | 4 +-- src/ahriman/application/handlers/web.py | 4 +-- src/ahriman/application/lock.py | 3 +- src/ahriman/core/repository/repository.py | 7 ++--- .../core/repository/repository_properties.py | 10 +------ src/ahriman/core/status/watcher.py | 2 +- src/ahriman/core/tree.py | 2 +- .../application/application/conftest.py | 6 ++-- tests/ahriman/application/conftest.py | 3 +- .../application/handlers/test_handler.py | 2 +- .../application/handlers/test_handler_add.py | 6 ++-- .../handlers/test_handler_backup.py | 2 +- .../handlers/test_handler_clean.py | 2 +- .../handlers/test_handler_daemon.py | 4 +-- .../application/handlers/test_handler_dump.py | 2 +- .../application/handlers/test_handler_help.py | 4 +-- .../handlers/test_handler_key_import.py | 2 +- .../handlers/test_handler_patch.py | 8 +++--- .../handlers/test_handler_rebuild.py | 14 +++++----- .../handlers/test_handler_remove.py | 2 +- .../handlers/test_handler_remove_unknown.py | 4 +-- .../handlers/test_handler_restore.py | 2 +- .../handlers/test_handler_search.py | 8 +++--- .../handlers/test_handler_service_updates.py | 4 +-- .../handlers/test_handler_setup.py | 2 +- .../handlers/test_handler_shell.py | 6 ++-- .../application/handlers/test_handler_sign.py | 2 +- .../handlers/test_handler_status.py | 15 +++++----- .../handlers/test_handler_status_update.py | 11 ++++---- .../handlers/test_handler_structure.py | 2 +- .../handlers/test_handler_triggers.py | 4 +-- .../handlers/test_handler_unsafe_commands.py | 4 +-- .../handlers/test_handler_update.py | 8 +++--- .../handlers/test_handler_users.py | 12 ++++---- .../handlers/test_handler_validate.py | 4 +-- .../handlers/test_handler_versions.py | 2 +- .../application/handlers/test_handler_web.py | 2 +- tests/ahriman/application/test_lock.py | 6 +++- tests/ahriman/conftest.py | 3 +- tests/ahriman/core/repository/conftest.py | 16 +++++------ .../core/repository/test_repository.py | 6 ++-- .../repository/test_repository_properties.py | 28 ------------------- tests/ahriman/core/status/test_watcher.py | 2 +- 71 files changed, 150 insertions(+), 247 deletions(-) diff --git a/src/ahriman/application/application/application.py b/src/ahriman/application/application/application.py index fdf8c63e..e88d2629 100644 --- a/src/ahriman/application/application/application.py +++ b/src/ahriman/application/application/application.py @@ -39,12 +39,12 @@ class Application(ApplicationPackages, ApplicationRepository): >>> from ahriman.models.package_source import PackageSource >>> >>> configuration = Configuration() - >>> application = Application("x86_64", configuration, report=True, unsafe=False) + >>> application = Application("x86_64", configuration, report=True) >>> # add packages to build queue >>> application.add(["ahriman"], PackageSource.AUR) >>> >>> # check for updates - >>> updates = application.updates([], aur=True, local=True, manual=True, vcs=True, log_fn=print) + >>> updates = application.updates([], aur=True, local=True, manual=True, vcs=True) >>> # updates for specified packages >>> application.update(updates) diff --git a/src/ahriman/application/application/application_properties.py b/src/ahriman/application/application/application_properties.py index 66aac048..380b39fa 100644 --- a/src/ahriman/application/application/application_properties.py +++ b/src/ahriman/application/application/application_properties.py @@ -35,7 +35,7 @@ class ApplicationProperties(LazyLogging): repository(Repository): repository instance """ - def __init__(self, architecture: str, configuration: Configuration, *, report: bool, unsafe: bool, + def __init__(self, architecture: str, configuration: Configuration, *, report: bool, refresh_pacman_database: PacmanSynchronization = PacmanSynchronization.Disabled) -> None: """ default constructor @@ -44,12 +44,11 @@ class ApplicationProperties(LazyLogging): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation refresh_pacman_database(PacmanSynchronization, optional): pacman database synchronization level (Default value = PacmanSynchronization.Disabled) """ self.configuration = configuration self.architecture = architecture self.database = SQLite.load(configuration) - self.repository = Repository.load(architecture, configuration, self.database, report=report, unsafe=unsafe, + self.repository = Repository.load(architecture, configuration, self.database, report=report, refresh_pacman_database=refresh_pacman_database) diff --git a/src/ahriman/application/handlers/add.py b/src/ahriman/application/handlers/add.py index dcca843b..700123e7 100644 --- a/src/ahriman/application/handlers/add.py +++ b/src/ahriman/application/handlers/add.py @@ -31,8 +31,7 @@ class Add(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -41,10 +40,8 @@ class Add(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, - report=report, unsafe=unsafe, refresh_pacman_database=args.refresh) + application = Application(architecture, configuration, report=report, refresh_pacman_database=args.refresh) application.on_start() application.add(args.package, args.source, args.username) if not args.now: diff --git a/src/ahriman/application/handlers/backup.py b/src/ahriman/application/handlers/backup.py index c2bc5da7..4bac517d 100644 --- a/src/ahriman/application/handlers/backup.py +++ b/src/ahriman/application/handlers/backup.py @@ -36,8 +36,7 @@ class Backup(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False # it should be called only as "no-architecture" @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -46,7 +45,6 @@ class Backup(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ backup_paths = Backup.get_paths(configuration) with TarFile(args.path, mode="w") as archive: # well we don't actually use compression diff --git a/src/ahriman/application/handlers/clean.py b/src/ahriman/application/handlers/clean.py index 5b3e54c2..3487d96b 100644 --- a/src/ahriman/application/handlers/clean.py +++ b/src/ahriman/application/handlers/clean.py @@ -30,8 +30,7 @@ class Clean(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -40,9 +39,8 @@ class Clean(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) application.on_start() application.clean(cache=args.cache, chroot=args.chroot, manual=args.manual, packages=args.packages, pacman=args.pacman) diff --git a/src/ahriman/application/handlers/daemon.py b/src/ahriman/application/handlers/daemon.py index 3ef65fd0..3878ee06 100644 --- a/src/ahriman/application/handlers/daemon.py +++ b/src/ahriman/application/handlers/daemon.py @@ -30,8 +30,7 @@ class Daemon(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -40,11 +39,10 @@ class Daemon(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ from ahriman.application.handlers import Update - Update.run(args, architecture, configuration, report=report, unsafe=unsafe) + Update.run(args, architecture, configuration, report=report) timer = threading.Timer(args.interval, Daemon.run, args=[args, architecture, configuration], - kwargs={"report": report, "unsafe": unsafe}) + kwargs={"report": report}) timer.start() timer.join() diff --git a/src/ahriman/application/handlers/dump.py b/src/ahriman/application/handlers/dump.py index 32e10293..d212b36b 100644 --- a/src/ahriman/application/handlers/dump.py +++ b/src/ahriman/application/handlers/dump.py @@ -32,8 +32,7 @@ class Dump(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -42,7 +41,6 @@ class Dump(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ root, _ = configuration.check_loaded() ConfigurationPathsPrinter(root, configuration.includes).print(verbose=True, separator=" = ") diff --git a/src/ahriman/application/handlers/handler.py b/src/ahriman/application/handlers/handler.py index 3f0a3da2..e3b700cb 100644 --- a/src/ahriman/application/handlers/handler.py +++ b/src/ahriman/application/handlers/handler.py @@ -97,7 +97,7 @@ class Handler: log_handler = Log.handler(args.log_handler) Log.load(configuration, log_handler, quiet=args.quiet, report=args.report) with Lock(args, architecture, configuration): - cls.run(args, architecture, configuration, report=args.report, unsafe=args.unsafe) + cls.run(args, architecture, configuration, report=args.report) return True except ExitCode: return False @@ -136,8 +136,7 @@ class Handler: return 0 if all(result) else 1 @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -146,7 +145,6 @@ class Handler: architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation Raises: NotImplementedError: not implemented method diff --git a/src/ahriman/application/handlers/help.py b/src/ahriman/application/handlers/help.py index f8417bde..b7f7aeed 100644 --- a/src/ahriman/application/handlers/help.py +++ b/src/ahriman/application/handlers/help.py @@ -31,8 +31,7 @@ class Help(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False # it should be called only as "no-architecture" @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -41,7 +40,6 @@ class Help(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ parser: argparse.ArgumentParser = args.parser() if args.command is None: diff --git a/src/ahriman/application/handlers/key_import.py b/src/ahriman/application/handlers/key_import.py index 4293a890..4424d910 100644 --- a/src/ahriman/application/handlers/key_import.py +++ b/src/ahriman/application/handlers/key_import.py @@ -32,8 +32,7 @@ class KeyImport(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False # it should be called only as "no-architecture" @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -42,7 +41,6 @@ class KeyImport(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) application.repository.sign.key_import(args.key_server, args.key) diff --git a/src/ahriman/application/handlers/patch.py b/src/ahriman/application/handlers/patch.py index bd95c20f..7fcfcdb0 100644 --- a/src/ahriman/application/handlers/patch.py +++ b/src/ahriman/application/handlers/patch.py @@ -38,8 +38,7 @@ class Patch(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -48,9 +47,8 @@ class Patch(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) application.on_start() if args.action == Action.Update and args.variable is not None: diff --git a/src/ahriman/application/handlers/rebuild.py b/src/ahriman/application/handlers/rebuild.py index 735a0134..ac5e851d 100644 --- a/src/ahriman/application/handlers/rebuild.py +++ b/src/ahriman/application/handlers/rebuild.py @@ -32,8 +32,7 @@ class Rebuild(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -42,9 +41,8 @@ class Rebuild(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) application.on_start() packages = Rebuild.extract_packages(application, args.status, from_database=args.from_database) diff --git a/src/ahriman/application/handlers/remove.py b/src/ahriman/application/handlers/remove.py index 2c3eba06..1c65cb85 100644 --- a/src/ahriman/application/handlers/remove.py +++ b/src/ahriman/application/handlers/remove.py @@ -30,8 +30,7 @@ class Remove(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -40,8 +39,7 @@ class Remove(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) application.on_start() application.remove(args.package) diff --git a/src/ahriman/application/handlers/remove_unknown.py b/src/ahriman/application/handlers/remove_unknown.py index 33d367c3..2fda7576 100644 --- a/src/ahriman/application/handlers/remove_unknown.py +++ b/src/ahriman/application/handlers/remove_unknown.py @@ -31,8 +31,7 @@ class RemoveUnknown(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -41,9 +40,8 @@ class RemoveUnknown(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) application.on_start() unknown_packages = application.unknown() diff --git a/src/ahriman/application/handlers/restore.py b/src/ahriman/application/handlers/restore.py index abd68165..966b43ce 100644 --- a/src/ahriman/application/handlers/restore.py +++ b/src/ahriman/application/handlers/restore.py @@ -33,8 +33,7 @@ class Restore(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False # it should be called only as "no-architecture" @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -43,7 +42,6 @@ class Restore(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ with TarFile(args.path) as archive: archive.extractall(path=args.output) diff --git a/src/ahriman/application/handlers/search.py b/src/ahriman/application/handlers/search.py index 2e2f25d1..915b30d1 100644 --- a/src/ahriman/application/handlers/search.py +++ b/src/ahriman/application/handlers/search.py @@ -47,8 +47,7 @@ class Search(Handler): } @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -57,9 +56,8 @@ class Search(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) official_packages_list = Official.multisearch(*args.search, pacman=application.repository.pacman) aur_packages_list = AUR.multisearch(*args.search, pacman=application.repository.pacman) diff --git a/src/ahriman/application/handlers/service_updates.py b/src/ahriman/application/handlers/service_updates.py index b2d158c5..405e9b28 100644 --- a/src/ahriman/application/handlers/service_updates.py +++ b/src/ahriman/application/handlers/service_updates.py @@ -35,8 +35,7 @@ class ServiceUpdates(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False # it should be called only as "no-architecture" @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -45,9 +44,8 @@ class ServiceUpdates(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) remote = Package.from_aur("ahriman", application.repository.pacman, None) release = remote.version.rsplit("-", 1)[-1] # we don't store pkgrel locally, so we just append it diff --git a/src/ahriman/application/handlers/setup.py b/src/ahriman/application/handlers/setup.py index 00e92ec0..66e31cbc 100644 --- a/src/ahriman/application/handlers/setup.py +++ b/src/ahriman/application/handlers/setup.py @@ -46,8 +46,7 @@ class Setup(Handler): SUDOERS_DIR_PATH = Path("/etc") / "sudoers.d" @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -56,12 +55,11 @@ class Setup(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ Setup.configuration_create_ahriman(args, architecture, args.repository, configuration) configuration.reload() - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) Setup.configuration_create_makepkg(args.packager, args.makeflags_jobs, application.repository.paths) Setup.executable_create(application.repository.paths, args.build_command, architecture) diff --git a/src/ahriman/application/handlers/shell.py b/src/ahriman/application/handlers/shell.py index 797b3e97..e4d39c44 100644 --- a/src/ahriman/application/handlers/shell.py +++ b/src/ahriman/application/handlers/shell.py @@ -37,8 +37,7 @@ class Shell(Handler): ALLOW_MULTI_ARCHITECTURE_RUN = False @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -47,10 +46,9 @@ class Shell(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ # pylint: disable=possibly-unused-variable - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) if args.verbose: # licensed by https://creativecommons.org/licenses/by-sa/3.0 path = Path(sys.prefix) / "share" / "ahriman" / "templates" / "shell" diff --git a/src/ahriman/application/handlers/sign.py b/src/ahriman/application/handlers/sign.py index d6076542..e572d55b 100644 --- a/src/ahriman/application/handlers/sign.py +++ b/src/ahriman/application/handlers/sign.py @@ -30,8 +30,7 @@ class Sign(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -40,6 +39,5 @@ class Sign(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - Application(architecture, configuration, report=report, unsafe=unsafe).sign(args.package) + Application(architecture, configuration, report=report).sign(args.package) diff --git a/src/ahriman/application/handlers/status.py b/src/ahriman/application/handlers/status.py index 11e5132f..61266636 100644 --- a/src/ahriman/application/handlers/status.py +++ b/src/ahriman/application/handlers/status.py @@ -37,8 +37,7 @@ class Status(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -47,10 +46,9 @@ class Status(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ # we are using reporter here - client = Application(architecture, configuration, report=True, unsafe=unsafe).repository.reporter + client = Application(architecture, configuration, report=True).repository.reporter if args.ahriman: service_status = client.get_internal() StatusPrinter(service_status.status).print(verbose=args.info) diff --git a/src/ahriman/application/handlers/status_update.py b/src/ahriman/application/handlers/status_update.py index ac496ac1..06b9ec68 100644 --- a/src/ahriman/application/handlers/status_update.py +++ b/src/ahriman/application/handlers/status_update.py @@ -33,8 +33,7 @@ class StatusUpdate(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -43,10 +42,9 @@ class StatusUpdate(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ # we are using reporter here - client = Application(architecture, configuration, report=True, unsafe=unsafe).repository.reporter + client = Application(architecture, configuration, report=True).repository.reporter if args.action == Action.Update and args.package: # update packages statuses diff --git a/src/ahriman/application/handlers/structure.py b/src/ahriman/application/handlers/structure.py index 9c378485..260b293e 100644 --- a/src/ahriman/application/handlers/structure.py +++ b/src/ahriman/application/handlers/structure.py @@ -34,8 +34,7 @@ class Structure(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -44,9 +43,8 @@ class Structure(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) packages = application.repository.packages() tree = Tree.resolve(packages) diff --git a/src/ahriman/application/handlers/triggers.py b/src/ahriman/application/handlers/triggers.py index 3f5d406d..f47b4081 100644 --- a/src/ahriman/application/handlers/triggers.py +++ b/src/ahriman/application/handlers/triggers.py @@ -31,8 +31,7 @@ class Triggers(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -41,9 +40,8 @@ class Triggers(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe) + application = Application(architecture, configuration, report=report) if args.trigger: loader = application.repository.triggers loader.triggers = [loader.load_trigger(trigger, architecture, configuration) for trigger in args.trigger] diff --git a/src/ahriman/application/handlers/unsafe_commands.py b/src/ahriman/application/handlers/unsafe_commands.py index eab6671d..a40e9eec 100644 --- a/src/ahriman/application/handlers/unsafe_commands.py +++ b/src/ahriman/application/handlers/unsafe_commands.py @@ -32,8 +32,7 @@ class UnsafeCommands(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False # it should be called only as "no-architecture" @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -42,7 +41,6 @@ class UnsafeCommands(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ parser = args.parser() unsafe_commands = UnsafeCommands.get_unsafe_commands(parser) diff --git a/src/ahriman/application/handlers/update.py b/src/ahriman/application/handlers/update.py index 3ffd0cbb..610e21de 100644 --- a/src/ahriman/application/handlers/update.py +++ b/src/ahriman/application/handlers/update.py @@ -33,8 +33,7 @@ class Update(Handler): """ @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -43,10 +42,8 @@ class Update(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ - application = Application(architecture, configuration, report=report, unsafe=unsafe, - refresh_pacman_database=args.refresh) + application = Application(architecture, configuration, report=report, refresh_pacman_database=args.refresh) application.on_start() packages = application.updates(args.package, aur=args.aur, local=args.local, manual=args.manual, vcs=args.vcs) Update.check_if_empty(args.exit_code, not packages) diff --git a/src/ahriman/application/handlers/users.py b/src/ahriman/application/handlers/users.py index ce36d7a5..b7ee8bea 100644 --- a/src/ahriman/application/handlers/users.py +++ b/src/ahriman/application/handlers/users.py @@ -37,8 +37,7 @@ class Users(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False # it should be called only as "no-architecture" @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -47,7 +46,6 @@ class Users(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ database = SQLite.load(configuration) diff --git a/src/ahriman/application/handlers/validate.py b/src/ahriman/application/handlers/validate.py index 8ba076c3..64214dff 100644 --- a/src/ahriman/application/handlers/validate.py +++ b/src/ahriman/application/handlers/validate.py @@ -39,8 +39,7 @@ class Validate(Handler): ALLOW_AUTO_ARCHITECTURE_RUN = False @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -49,7 +48,6 @@ class Validate(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ schema = Validate.schema(architecture, configuration) validator = Validator(configuration=configuration, schema=schema) diff --git a/src/ahriman/application/handlers/versions.py b/src/ahriman/application/handlers/versions.py index 8b98e013..af4f59e8 100644 --- a/src/ahriman/application/handlers/versions.py +++ b/src/ahriman/application/handlers/versions.py @@ -42,8 +42,7 @@ class Versions(Handler): PEP423_PACKAGE_NAME = re.compile(r"^[A-Za-z0-9._-]+") @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -52,7 +51,6 @@ class Versions(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ VersionPrinter(f"Module version {version.__version__}", {"Python": sys.version}).print(verbose=False, separator=" ") diff --git a/src/ahriman/application/handlers/web.py b/src/ahriman/application/handlers/web.py index 07963e47..86f5d277 100644 --- a/src/ahriman/application/handlers/web.py +++ b/src/ahriman/application/handlers/web.py @@ -36,8 +36,7 @@ class Web(Handler): COMMAND_ARGS_WHITELIST = ["force", "log_handler", ""] @classmethod - def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, - report: bool, unsafe: bool) -> None: + def run(cls, args: argparse.Namespace, architecture: str, configuration: Configuration, *, report: bool) -> None: """ callback for command line @@ -46,7 +45,6 @@ class Web(Handler): architecture(str): repository architecture configuration(Configuration): configuration instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation """ # we are using local import for optional dependencies from ahriman.web.web import run_server, setup_service diff --git a/src/ahriman/application/lock.py b/src/ahriman/application/lock.py index b10cc495..88197518 100644 --- a/src/ahriman/application/lock.py +++ b/src/ahriman/application/lock.py @@ -86,6 +86,7 @@ class Lock(LazyLogging): check if current user is actually owner of ahriman root """ check_user(self.paths, unsafe=self.unsafe) + self.paths.tree_create() def clear(self) -> None: """ @@ -116,7 +117,7 @@ class Lock(LazyLogging): 1. Check user UID 2. Check if there is lock file 3. Check web status watcher status - 4. Create lock file + 4. Create lock file and directory tree 5. Report to status page if enabled Returns: diff --git a/src/ahriman/core/repository/repository.py b/src/ahriman/core/repository/repository.py index a6fa210c..e22dcfea 100644 --- a/src/ahriman/core/repository/repository.py +++ b/src/ahriman/core/repository/repository.py @@ -47,7 +47,7 @@ class Repository(Executor, UpdateHandler): >>> >>> configuration = Configuration() >>> database = SQLite.load(configuration) - >>> repository = Repository.load("x86_64", configuration, database, report=True, unsafe=False) + >>> repository = Repository.load("x86_64", configuration, database, report=True) >>> known_packages = repository.packages() >>> >>> build_result = repository.process_build(known_packages) @@ -58,7 +58,7 @@ class Repository(Executor, UpdateHandler): """ @classmethod - def load(cls, architecture: str, configuration: Configuration, database: SQLite, *, report: bool, unsafe: bool, + def load(cls, architecture: str, configuration: Configuration, database: SQLite, *, report: bool, refresh_pacman_database: PacmanSynchronization = PacmanSynchronization.Disabled) -> Self: """ load instance from argument list @@ -68,7 +68,6 @@ class Repository(Executor, UpdateHandler): configuration(Configuration): configuration instance database(SQLite): database instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation refresh_pacman_database(PacmanSynchronization, optional): pacman database synchronization level (Default value = PacmanSynchronization.Disabled) @@ -76,7 +75,7 @@ class Repository(Executor, UpdateHandler): Self: fully loaded repository class instance """ instance = cls(architecture, configuration, database, - report=report, unsafe=unsafe, refresh_pacman_database=refresh_pacman_database) + report=report, refresh_pacman_database=refresh_pacman_database) instance._set_context() return instance diff --git a/src/ahriman/core/repository/repository_properties.py b/src/ahriman/core/repository/repository_properties.py index edb8abdc..a83a8412 100644 --- a/src/ahriman/core/repository/repository_properties.py +++ b/src/ahriman/core/repository/repository_properties.py @@ -21,12 +21,10 @@ from ahriman.core.alpm.pacman import Pacman from ahriman.core.alpm.repo import Repo from ahriman.core.configuration import Configuration from ahriman.core.database import SQLite -from ahriman.core.exceptions import UnsafeRunError from ahriman.core.log import LazyLogging from ahriman.core.sign.gpg import GPG from ahriman.core.status.client import Client from ahriman.core.triggers import TriggerLoader -from ahriman.core.util import check_user from ahriman.models.packagers import Packagers from ahriman.models.pacman_synchronization import PacmanSynchronization from ahriman.models.repository_paths import RepositoryPaths @@ -53,7 +51,7 @@ class RepositoryProperties(LazyLogging): vcs_allowed_age(int): maximal age of the VCS packages before they will be checked """ - def __init__(self, architecture: str, configuration: Configuration, database: SQLite, *, report: bool, unsafe: bool, + def __init__(self, architecture: str, configuration: Configuration, database: SQLite, *, report: bool, refresh_pacman_database: PacmanSynchronization) -> None: """ default constructor @@ -63,7 +61,6 @@ class RepositoryProperties(LazyLogging): configuration(Configuration): configuration instance database(SQLite): database instance report(bool): force enable or disable reporting - unsafe(bool): if set no user check will be performed before path creation refresh_pacman_database(PacmanSynchronization): pacman database synchronization level """ self.architecture = architecture @@ -74,11 +71,6 @@ class RepositoryProperties(LazyLogging): self.vcs_allowed_age = configuration.getint("build", "vcs_allowed_age", fallback=0) self.paths: RepositoryPaths = configuration.repository_paths # additional workaround for pycharm typing - try: - check_user(self.paths, unsafe=unsafe) - self.paths.tree_create() - except UnsafeRunError: - self.logger.warning("root owner differs from the current user, skipping tree creation") self.ignore_list = configuration.getlist("build", "ignore_packages", fallback=[]) self.pacman = Pacman(architecture, configuration, refresh_database=refresh_pacman_database) diff --git a/src/ahriman/core/status/watcher.py b/src/ahriman/core/status/watcher.py index 356b8873..f3fee7af 100644 --- a/src/ahriman/core/status/watcher.py +++ b/src/ahriman/core/status/watcher.py @@ -53,7 +53,7 @@ class Watcher(LazyLogging): """ self.architecture = architecture self.database = database - self.repository = Repository.load(architecture, configuration, database, report=False, unsafe=False) + self.repository = Repository.load(architecture, configuration, database, report=False) self.known: dict[str, tuple[Package, BuildStatus]] = {} self.status = BuildStatus() diff --git a/src/ahriman/core/tree.py b/src/ahriman/core/tree.py index cccb9a48..49ee6149 100644 --- a/src/ahriman/core/tree.py +++ b/src/ahriman/core/tree.py @@ -104,7 +104,7 @@ class Tree: >>> >>> configuration = Configuration() >>> database = SQLite.load(configuration) - >>> repository = Repository.load("x86_64", configuration, database, report=True, unsafe=False) + >>> repository = Repository.load("x86_64", configuration, database, report=True) >>> packages = repository.packages() >>> >>> tree = Tree.resolve(packages) diff --git a/tests/ahriman/application/application/conftest.py b/tests/ahriman/application/application/conftest.py index fe351df7..dbaef770 100644 --- a/tests/ahriman/application/application/conftest.py +++ b/tests/ahriman/application/application/conftest.py @@ -27,7 +27,7 @@ def application_packages(configuration: Configuration, database: SQLite, reposit """ mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) mocker.patch("ahriman.core.database.SQLite.load", return_value=database) - return ApplicationPackages("x86_64", configuration, report=False, unsafe=False) + return ApplicationPackages("x86_64", configuration, report=False) @pytest.fixture @@ -47,7 +47,7 @@ def application_properties(configuration: Configuration, database: SQLite, repos """ mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) mocker.patch("ahriman.core.database.SQLite.load", return_value=database) - return ApplicationProperties("x86_64", configuration, report=False, unsafe=False) + return ApplicationProperties("x86_64", configuration, report=False) @pytest.fixture @@ -67,4 +67,4 @@ def application_repository(configuration: Configuration, database: SQLite, repos """ mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) mocker.patch("ahriman.core.database.SQLite.load", return_value=database) - return ApplicationRepository("x86_64", configuration, report=False, unsafe=False) + return ApplicationRepository("x86_64", configuration, report=False) diff --git a/tests/ahriman/application/conftest.py b/tests/ahriman/application/conftest.py index 49c309ea..eafe8e96 100644 --- a/tests/ahriman/application/conftest.py +++ b/tests/ahriman/application/conftest.py @@ -26,10 +26,9 @@ def application(configuration: Configuration, repository: Repository, database: Returns: Application: application test instance """ - mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") mocker.patch("ahriman.core.database.SQLite.load", return_value=database) mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) - return Application("x86_64", configuration, report=False, unsafe=False) + return Application("x86_64", configuration, report=False) @pytest.fixture diff --git a/tests/ahriman/application/handlers/test_handler.py b/tests/ahriman/application/handlers/test_handler.py index 8e81afb3..645cb738 100644 --- a/tests/ahriman/application/handlers/test_handler.py +++ b/tests/ahriman/application/handlers/test_handler.py @@ -143,7 +143,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration) -> None: must raise NotImplemented for missing method """ with pytest.raises(NotImplementedError): - Handler.run(args, "x86_64", configuration, report=True, unsafe=True) + Handler.run(args, "x86_64", configuration, report=True) def test_check_if_empty() -> None: diff --git a/tests/ahriman/application/handlers/test_handler_add.py b/tests/ahriman/application/handlers/test_handler_add.py index 0dca4650..9a833fd3 100644 --- a/tests/ahriman/application/handlers/test_handler_add.py +++ b/tests/ahriman/application/handlers/test_handler_add.py @@ -43,7 +43,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: dependencies_mock = mocker.patch("ahriman.application.application.Application.with_dependencies") on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") - Add.run(args, "x86_64", configuration, report=False, unsafe=False) + Add.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(args.package, args.source, args.username) dependencies_mock.assert_not_called() on_start_mock.assert_called_once_with() @@ -67,7 +67,7 @@ def test_run_with_updates(args: argparse.Namespace, configuration: Configuration return_value=[package_ahriman]) print_mock = mocker.patch("ahriman.application.application.Application.print_updates") - Add.run(args, "x86_64", configuration, report=False, unsafe=False) + Add.run(args, "x86_64", configuration, report=False) updates_mock.assert_called_once_with(args.package, aur=False, local=False, manual=True, vcs=False) application_mock.assert_called_once_with([package_ahriman], Packagers(args.username, {package_ahriman.base: "packager"})) @@ -92,5 +92,5 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat mocker.patch("ahriman.application.application.Application.print_updates") check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - Add.run(args, "x86_64", configuration, report=False, unsafe=False) + Add.run(args, "x86_64", configuration, report=False) check_mock.assert_called_once_with(True, True) diff --git a/tests/ahriman/application/handlers/test_handler_backup.py b/tests/ahriman/application/handlers/test_handler_backup.py index 628c93e1..3679dcd7 100644 --- a/tests/ahriman/application/handlers/test_handler_backup.py +++ b/tests/ahriman/application/handlers/test_handler_backup.py @@ -33,7 +33,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc add_mock = tarfile.__enter__.return_value = MagicMock() mocker.patch("tarfile.TarFile.__new__", return_value=tarfile) - Backup.run(args, "x86_64", configuration, report=False, unsafe=False) + Backup.run(args, "x86_64", configuration, report=False) add_mock.add.assert_called_once_with(Path("path")) diff --git a/tests/ahriman/application/handlers/test_handler_clean.py b/tests/ahriman/application/handlers/test_handler_clean.py index 82d2f92b..35fa0252 100644 --- a/tests/ahriman/application/handlers/test_handler_clean.py +++ b/tests/ahriman/application/handlers/test_handler_clean.py @@ -35,6 +35,6 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: application_mock = mocker.patch("ahriman.application.application.Application.clean") on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") - Clean.run(args, "x86_64", configuration, report=False, unsafe=False) + Clean.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(cache=False, chroot=False, manual=False, packages=False, pacman=False) on_start_mock.assert_called_once_with() diff --git a/tests/ahriman/application/handlers/test_handler_daemon.py b/tests/ahriman/application/handlers/test_handler_daemon.py index ead4bf1e..698c3758 100644 --- a/tests/ahriman/application/handlers/test_handler_daemon.py +++ b/tests/ahriman/application/handlers/test_handler_daemon.py @@ -33,7 +33,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc start_mock = mocker.patch("threading.Timer.start") join_mock = mocker.patch("threading.Timer.join") - Daemon.run(args, "x86_64", configuration, report=True, unsafe=False) - run_mock.assert_called_once_with(args, "x86_64", configuration, report=True, unsafe=False) + Daemon.run(args, "x86_64", configuration, report=True) + run_mock.assert_called_once_with(args, "x86_64", configuration, report=True) start_mock.assert_called_once_with() join_mock.assert_called_once_with() diff --git a/tests/ahriman/application/handlers/test_handler_dump.py b/tests/ahriman/application/handlers/test_handler_dump.py index 5a0b65cd..2f5ebc37 100644 --- a/tests/ahriman/application/handlers/test_handler_dump.py +++ b/tests/ahriman/application/handlers/test_handler_dump.py @@ -29,7 +29,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc application_mock = mocker.patch("ahriman.core.configuration.Configuration.dump", return_value=configuration.dump()) - Dump.run(args, "x86_64", configuration, report=False, unsafe=False) + Dump.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with() print_mock.assert_called() diff --git a/tests/ahriman/application/handlers/test_handler_help.py b/tests/ahriman/application/handlers/test_handler_help.py index 430b584c..db986c0f 100644 --- a/tests/ahriman/application/handlers/test_handler_help.py +++ b/tests/ahriman/application/handlers/test_handler_help.py @@ -29,7 +29,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc args = _default_args(args) parse_mock = mocker.patch("argparse.ArgumentParser.parse_args") - Help.run(args, "x86_64", configuration, report=False, unsafe=False) + Help.run(args, "x86_64", configuration, report=False) parse_mock.assert_called_once_with(["--help"]) @@ -41,7 +41,7 @@ def test_run_command(args: argparse.Namespace, configuration: Configuration, moc args.command = "aur-search" parse_mock = mocker.patch("argparse.ArgumentParser.parse_args") - Help.run(args, "x86_64", configuration, report=False, unsafe=False) + Help.run(args, "x86_64", configuration, report=False) parse_mock.assert_called_once_with(["aur-search", "--help"]) diff --git a/tests/ahriman/application/handlers/test_handler_key_import.py b/tests/ahriman/application/handlers/test_handler_key_import.py index 70cfda3b..33d2f0fb 100644 --- a/tests/ahriman/application/handlers/test_handler_key_import.py +++ b/tests/ahriman/application/handlers/test_handler_key_import.py @@ -31,7 +31,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) application_mock = mocker.patch("ahriman.core.sign.gpg.GPG.key_import") - KeyImport.run(args, "x86_64", configuration, report=False, unsafe=False) + KeyImport.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(args.key_server, args.key) diff --git a/tests/ahriman/application/handlers/test_handler_patch.py b/tests/ahriman/application/handlers/test_handler_patch.py index e3628b71..0c504ff8 100644 --- a/tests/ahriman/application/handlers/test_handler_patch.py +++ b/tests/ahriman/application/handlers/test_handler_patch.py @@ -44,7 +44,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: return_value=(args.package, PkgbuildPatch(None, "patch"))) application_mock = mocker.patch("ahriman.application.handlers.Patch.patch_set_create") - Patch.run(args, "x86_64", configuration, report=False, unsafe=False) + Patch.run(args, "x86_64", configuration, report=False) patch_mock.assert_called_once_with(args.package, "x86_64", args.track) application_mock.assert_called_once_with(pytest.helpers.anyvar(int), args.package, PkgbuildPatch(None, "patch")) @@ -63,7 +63,7 @@ def test_run_function(args: argparse.Namespace, configuration: Configuration, re patch_mock = mocker.patch("ahriman.application.handlers.Patch.patch_create_from_function", return_value=patch) application_mock = mocker.patch("ahriman.application.handlers.Patch.patch_set_create") - Patch.run(args, "x86_64", configuration, report=False, unsafe=False) + Patch.run(args, "x86_64", configuration, report=False) patch_mock.assert_called_once_with(args.variable, args.patch) application_mock.assert_called_once_with(pytest.helpers.anyvar(int), args.package, patch) @@ -79,7 +79,7 @@ def test_run_list(args: argparse.Namespace, configuration: Configuration, reposi mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) application_mock = mocker.patch("ahriman.application.handlers.Patch.patch_set_list") - Patch.run(args, "x86_64", configuration, report=False, unsafe=False) + Patch.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(pytest.helpers.anyvar(int), args.package, ["version"], False) @@ -94,7 +94,7 @@ def test_run_remove(args: argparse.Namespace, configuration: Configuration, repo mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) application_mock = mocker.patch("ahriman.application.handlers.Patch.patch_set_remove") - Patch.run(args, "x86_64", configuration, report=False, unsafe=False) + Patch.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(pytest.helpers.anyvar(int), args.package, ["version"]) diff --git a/tests/ahriman/application/handlers/test_handler_rebuild.py b/tests/ahriman/application/handlers/test_handler_rebuild.py index 6a3b84c3..f303f420 100644 --- a/tests/ahriman/application/handlers/test_handler_rebuild.py +++ b/tests/ahriman/application/handlers/test_handler_rebuild.py @@ -48,7 +48,7 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration: check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") - Rebuild.run(args, "x86_64", configuration, report=False, unsafe=False) + Rebuild.run(args, "x86_64", configuration, report=False) extract_mock.assert_called_once_with(pytest.helpers.anyvar(int), args.status, from_database=args.from_database) application_packages_mock.assert_called_once_with([package_ahriman], None) application_mock.assert_called_once_with([package_ahriman], args.username) @@ -69,7 +69,7 @@ def test_run_extract_packages(args: argparse.Namespace, configuration: Configura mocker.patch("ahriman.application.application.Application.print_updates") extract_mock = mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[]) - Rebuild.run(args, "x86_64", configuration, report=False, unsafe=False) + Rebuild.run(args, "x86_64", configuration, report=False) extract_mock.assert_called_once_with(pytest.helpers.anyvar(int), args.status, from_database=args.from_database) @@ -86,7 +86,7 @@ def test_run_dry_run(args: argparse.Namespace, configuration: Configuration, rep check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") print_mock = mocker.patch("ahriman.application.application.Application.print_updates") - Rebuild.run(args, "x86_64", configuration, report=False, unsafe=False) + Rebuild.run(args, "x86_64", configuration, report=False) application_mock.assert_not_called() check_mock.assert_called_once_with(False, False) print_mock.assert_called_once_with([package_ahriman], log_fn=pytest.helpers.anyvar(int)) @@ -104,7 +104,7 @@ def test_run_filter(args: argparse.Namespace, configuration: Configuration, repo mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[]) application_packages_mock = mocker.patch("ahriman.core.repository.repository.Repository.packages_depend_on") - Rebuild.run(args, "x86_64", configuration, report=False, unsafe=False) + Rebuild.run(args, "x86_64", configuration, report=False) application_packages_mock.assert_called_once_with([], ["python-aur"]) @@ -119,7 +119,7 @@ def test_run_without_filter(args: argparse.Namespace, configuration: Configurati mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[]) application_packages_mock = mocker.patch("ahriman.core.repository.repository.Repository.packages_depend_on") - Rebuild.run(args, "x86_64", configuration, report=False, unsafe=False) + Rebuild.run(args, "x86_64", configuration, report=False) application_packages_mock.assert_called_once_with([], None) @@ -137,7 +137,7 @@ def test_run_update_empty_exception(args: argparse.Namespace, configuration: Con mocker.patch("ahriman.application.application.Application.print_updates") check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - Rebuild.run(args, "x86_64", configuration, report=False, unsafe=False) + Rebuild.run(args, "x86_64", configuration, report=False) check_mock.assert_called_once_with(True, True) @@ -154,7 +154,7 @@ def test_run_build_empty_exception(args: argparse.Namespace, configuration: Conf mocker.patch("ahriman.application.application.Application.update", return_value=Result()) check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - Rebuild.run(args, "x86_64", configuration, report=False, unsafe=False) + Rebuild.run(args, "x86_64", configuration, report=False) check_mock.assert_has_calls([MockCall(True, False), MockCall(True, True)]) diff --git a/tests/ahriman/application/handlers/test_handler_remove.py b/tests/ahriman/application/handlers/test_handler_remove.py index e793eb0e..77b6acb4 100644 --- a/tests/ahriman/application/handlers/test_handler_remove.py +++ b/tests/ahriman/application/handlers/test_handler_remove.py @@ -31,6 +31,6 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: application_mock = mocker.patch("ahriman.application.application.Application.remove") on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") - Remove.run(args, "x86_64", configuration, report=False, unsafe=False) + Remove.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with([]) on_start_mock.assert_called_once_with() diff --git a/tests/ahriman/application/handlers/test_handler_remove_unknown.py b/tests/ahriman/application/handlers/test_handler_remove_unknown.py index c2eeeb5e..00adf667 100644 --- a/tests/ahriman/application/handlers/test_handler_remove_unknown.py +++ b/tests/ahriman/application/handlers/test_handler_remove_unknown.py @@ -34,7 +34,7 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration: remove_mock = mocker.patch("ahriman.application.application.Application.remove") on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") - RemoveUnknown.run(args, "x86_64", configuration, report=False, unsafe=False) + RemoveUnknown.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with() remove_mock.assert_called_once_with([package_ahriman]) on_start_mock.assert_called_once_with() @@ -53,7 +53,7 @@ def test_run_dry_run(args: argparse.Namespace, configuration: Configuration, rep remove_mock = mocker.patch("ahriman.application.application.Application.remove") print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - RemoveUnknown.run(args, "x86_64", configuration, report=False, unsafe=False) + RemoveUnknown.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with() remove_mock.assert_not_called() print_mock.assert_called_once_with(verbose=False) diff --git a/tests/ahriman/application/handlers/test_handler_restore.py b/tests/ahriman/application/handlers/test_handler_restore.py index d71d6467..243fa0fa 100644 --- a/tests/ahriman/application/handlers/test_handler_restore.py +++ b/tests/ahriman/application/handlers/test_handler_restore.py @@ -32,7 +32,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc extract_mock = tarfile.__enter__.return_value = MagicMock() mocker.patch("tarfile.TarFile.__new__", return_value=tarfile) - Restore.run(args, "x86_64", configuration, report=False, unsafe=False) + Restore.run(args, "x86_64", configuration, report=False) extract_mock.extractall.assert_called_once_with(path=args.output) diff --git a/tests/ahriman/application/handlers/test_handler_search.py b/tests/ahriman/application/handlers/test_handler_search.py index 47c2dd7b..8d7f6131 100644 --- a/tests/ahriman/application/handlers/test_handler_search.py +++ b/tests/ahriman/application/handlers/test_handler_search.py @@ -42,7 +42,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - Search.run(args, "x86_64", configuration, report=False, unsafe=False) + Search.run(args, "x86_64", configuration, report=False) aur_search_mock.assert_called_once_with("ahriman", pacman=pytest.helpers.anyvar(int)) official_search_mock.assert_called_once_with("ahriman", pacman=pytest.helpers.anyvar(int)) check_mock.assert_called_once_with(False, False) @@ -62,7 +62,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - Search.run(args, "x86_64", configuration, report=False, unsafe=False) + Search.run(args, "x86_64", configuration, report=False) check_mock.assert_called_once_with(True, True) @@ -77,7 +77,7 @@ def test_run_sort(args: argparse.Namespace, configuration: Configuration, reposi mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) sort_mock = mocker.patch("ahriman.application.handlers.Search.sort") - Search.run(args, "x86_64", configuration, report=False, unsafe=False) + Search.run(args, "x86_64", configuration, report=False) sort_mock.assert_has_calls([ MockCall([], "name"), MockCall().__iter__(), MockCall([aur_package_ahriman], "name"), MockCall().__iter__() @@ -96,7 +96,7 @@ def test_run_sort_by(args: argparse.Namespace, configuration: Configuration, rep mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) sort_mock = mocker.patch("ahriman.application.handlers.Search.sort") - Search.run(args, "x86_64", configuration, report=False, unsafe=False) + Search.run(args, "x86_64", configuration, report=False) sort_mock.assert_has_calls([ MockCall([], "field"), MockCall().__iter__(), MockCall([aur_package_ahriman], "field"), MockCall().__iter__() diff --git a/tests/ahriman/application/handlers/test_handler_service_updates.py b/tests/ahriman/application/handlers/test_handler_service_updates.py index d62815f0..8be2729b 100644 --- a/tests/ahriman/application/handlers/test_handler_service_updates.py +++ b/tests/ahriman/application/handlers/test_handler_service_updates.py @@ -35,7 +35,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: application_mock = mocker.patch("ahriman.core.formatters.Printer.print") check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - ServiceUpdates.run(args, "x86_64", configuration, report=False, unsafe=False) + ServiceUpdates.run(args, "x86_64", configuration, report=False) package_mock.assert_called_once_with(package_ahriman.base, repository.pacman, None) application_mock.assert_called_once_with(verbose=True, separator=" -> ") check_mock.assert_called_once_with(args.exit_code, True) @@ -53,6 +53,6 @@ def test_run_skip(args: argparse.Namespace, configuration: Configuration, reposi application_mock = mocker.patch("ahriman.core.formatters.Printer.print") check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - ServiceUpdates.run(args, "x86_64", configuration, report=False, unsafe=False) + ServiceUpdates.run(args, "x86_64", configuration, report=False) application_mock.assert_not_called() check_mock.assert_not_called() diff --git a/tests/ahriman/application/handlers/test_handler_setup.py b/tests/ahriman/application/handlers/test_handler_setup.py index abb5b2a7..53398825 100644 --- a/tests/ahriman/application/handlers/test_handler_setup.py +++ b/tests/ahriman/application/handlers/test_handler_setup.py @@ -53,7 +53,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: executable_mock = mocker.patch("ahriman.application.handlers.Setup.executable_create") init_mock = mocker.patch("ahriman.core.alpm.repo.Repo.init") - Setup.run(args, "x86_64", configuration, report=False, unsafe=False) + Setup.run(args, "x86_64", configuration, report=False) ahriman_configuration_mock.assert_called_once_with(args, "x86_64", args.repository, configuration) devtools_configuration_mock.assert_called_once_with( args.build_command, "x86_64", args.from_configuration, args.mirror, args.multilib, args.repository, diff --git a/tests/ahriman/application/handlers/test_handler_shell.py b/tests/ahriman/application/handlers/test_handler_shell.py index ad05e7b5..f870bc20 100644 --- a/tests/ahriman/application/handlers/test_handler_shell.py +++ b/tests/ahriman/application/handlers/test_handler_shell.py @@ -32,7 +32,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) application_mock = mocker.patch("code.interact") - Shell.run(args, "x86_64", configuration, report=False, unsafe=False) + Shell.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(local=pytest.helpers.anyvar(int)) @@ -46,7 +46,7 @@ def test_run_eval(args: argparse.Namespace, configuration: Configuration, reposi mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) application_mock = mocker.patch("code.InteractiveConsole.runcode") - Shell.run(args, "x86_64", configuration, report=False, unsafe=False) + Shell.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(args.code) @@ -61,6 +61,6 @@ def test_run_verbose(args: argparse.Namespace, configuration: Configuration, rep print_mock = mocker.patch("ahriman.core.formatters.Printer.print") application_mock = mocker.patch("code.interact") - Shell.run(args, "x86_64", configuration, report=False, unsafe=False) + Shell.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(local=pytest.helpers.anyvar(int)) print_mock.assert_called_once_with(verbose=False) diff --git a/tests/ahriman/application/handlers/test_handler_sign.py b/tests/ahriman/application/handlers/test_handler_sign.py index 07fa1736..c40d3492 100644 --- a/tests/ahriman/application/handlers/test_handler_sign.py +++ b/tests/ahriman/application/handlers/test_handler_sign.py @@ -30,5 +30,5 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) application_mock = mocker.patch("ahriman.application.application.Application.sign") - Sign.run(args, "x86_64", configuration, report=False, unsafe=False) + Sign.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with([]) diff --git a/tests/ahriman/application/handlers/test_handler_status.py b/tests/ahriman/application/handlers/test_handler_status.py index d2fe7cc1..695c031b 100644 --- a/tests/ahriman/application/handlers/test_handler_status.py +++ b/tests/ahriman/application/handlers/test_handler_status.py @@ -43,7 +43,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - Status.run(args, "x86_64", configuration, report=False, unsafe=False) + Status.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with() packages_mock.assert_called_once_with(None) check_mock.assert_called_once_with(False, False) @@ -62,7 +62,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat mocker.patch("ahriman.core.status.client.Client.get", return_value=[]) check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - Status.run(args, "x86_64", configuration, report=False, unsafe=False) + Status.run(args, "x86_64", configuration, report=False) check_mock.assert_called_once_with(True, True) @@ -78,7 +78,7 @@ def test_run_verbose(args: argparse.Namespace, configuration: Configuration, rep return_value=[(package_ahriman, BuildStatus(BuildStatusEnum.Success))]) print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - Status.run(args, "x86_64", configuration, report=False, unsafe=False) + Status.run(args, "x86_64", configuration, report=False) print_mock.assert_has_calls([MockCall(verbose=True) for _ in range(2)]) @@ -93,7 +93,7 @@ def test_run_with_package_filter(args: argparse.Namespace, configuration: Config packages_mock = mocker.patch("ahriman.core.status.client.Client.get", return_value=[(package_ahriman, BuildStatus(BuildStatusEnum.Success))]) - Status.run(args, "x86_64", configuration, report=False, unsafe=False) + Status.run(args, "x86_64", configuration, report=False) packages_mock.assert_called_once_with(package_ahriman.base) @@ -110,7 +110,7 @@ def test_run_by_status(args: argparse.Namespace, configuration: Configuration, r mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - Status.run(args, "x86_64", configuration, report=False, unsafe=False) + Status.run(args, "x86_64", configuration, report=False) print_mock.assert_has_calls([MockCall(verbose=False) for _ in range(2)]) @@ -123,9 +123,8 @@ def test_imply_with_report(args: argparse.Namespace, configuration: Configuratio mocker.patch("ahriman.core.database.SQLite.load", return_value=database) load_mock = mocker.patch("ahriman.core.repository.Repository.load") - Status.run(args, "x86_64", configuration, report=False, unsafe=False) - load_mock.assert_called_once_with("x86_64", configuration, database, - report=True, unsafe=False, refresh_pacman_database=0) + Status.run(args, "x86_64", configuration, report=False) + load_mock.assert_called_once_with("x86_64", configuration, database, report=True, refresh_pacman_database=0) def test_disallow_auto_architecture_run() -> None: diff --git a/tests/ahriman/application/handlers/test_handler_status_update.py b/tests/ahriman/application/handlers/test_handler_status_update.py index d5c000c5..679fbb37 100644 --- a/tests/ahriman/application/handlers/test_handler_status_update.py +++ b/tests/ahriman/application/handlers/test_handler_status_update.py @@ -36,7 +36,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) update_self_mock = mocker.patch("ahriman.core.status.client.Client.update_self") - StatusUpdate.run(args, "x86_64", configuration, report=False, unsafe=False) + StatusUpdate.run(args, "x86_64", configuration, report=False) update_self_mock.assert_called_once_with(args.status) @@ -50,7 +50,7 @@ def test_run_packages(args: argparse.Namespace, configuration: Configuration, re mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) update_mock = mocker.patch("ahriman.core.status.client.Client.update") - StatusUpdate.run(args, "x86_64", configuration, report=False, unsafe=False) + StatusUpdate.run(args, "x86_64", configuration, report=False) update_mock.assert_called_once_with(package_ahriman.base, args.status) @@ -65,7 +65,7 @@ def test_run_remove(args: argparse.Namespace, configuration: Configuration, repo mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) update_mock = mocker.patch("ahriman.core.status.client.Client.remove") - StatusUpdate.run(args, "x86_64", configuration, report=False, unsafe=False) + StatusUpdate.run(args, "x86_64", configuration, report=False) update_mock.assert_called_once_with(package_ahriman.base) @@ -78,9 +78,8 @@ def test_imply_with_report(args: argparse.Namespace, configuration: Configuratio mocker.patch("ahriman.core.database.SQLite.load", return_value=database) load_mock = mocker.patch("ahriman.core.repository.Repository.load") - StatusUpdate.run(args, "x86_64", configuration, report=False, unsafe=False) - load_mock.assert_called_once_with("x86_64", configuration, database, - report=True, unsafe=False, refresh_pacman_database=0) + StatusUpdate.run(args, "x86_64", configuration, report=False) + load_mock.assert_called_once_with("x86_64", configuration, database, report=True, refresh_pacman_database=0) def test_disallow_auto_architecture_run() -> None: diff --git a/tests/ahriman/application/handlers/test_handler_structure.py b/tests/ahriman/application/handlers/test_handler_structure.py index 4b9c5c57..b6269b0b 100644 --- a/tests/ahriman/application/handlers/test_handler_structure.py +++ b/tests/ahriman/application/handlers/test_handler_structure.py @@ -18,7 +18,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: application_mock = mocker.patch("ahriman.core.tree.Tree.resolve", return_value=[[package_ahriman]]) print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - Structure.run(args, "x86_64", configuration, report=False, unsafe=False) + Structure.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with([package_ahriman]) print_mock.assert_called_once_with(verbose=True, separator=" ") diff --git a/tests/ahriman/application/handlers/test_handler_triggers.py b/tests/ahriman/application/handlers/test_handler_triggers.py index 7b115903..d433d1e5 100644 --- a/tests/ahriman/application/handlers/test_handler_triggers.py +++ b/tests/ahriman/application/handlers/test_handler_triggers.py @@ -33,7 +33,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: application_mock = mocker.patch("ahriman.application.application.Application.on_result") on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") - Triggers.run(args, "x86_64", configuration, report=False, unsafe=False) + Triggers.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(Result()) on_start_mock.assert_called_once_with() @@ -50,6 +50,6 @@ def test_run_trigger(args: argparse.Namespace, configuration: Configuration, rep report_mock = mocker.patch("ahriman.core.report.ReportTrigger.on_result") upload_mock = mocker.patch("ahriman.core.upload.UploadTrigger.on_result") - Triggers.run(args, "x86_64", configuration, report=False, unsafe=False) + Triggers.run(args, "x86_64", configuration, report=False) report_mock.assert_called_once_with(Result(), [package_ahriman]) upload_mock.assert_not_called() diff --git a/tests/ahriman/application/handlers/test_handler_unsafe_commands.py b/tests/ahriman/application/handlers/test_handler_unsafe_commands.py index 29513530..238133ba 100644 --- a/tests/ahriman/application/handlers/test_handler_unsafe_commands.py +++ b/tests/ahriman/application/handlers/test_handler_unsafe_commands.py @@ -32,7 +32,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc return_value=["command"]) print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - UnsafeCommands.run(args, "x86_64", configuration, report=False, unsafe=False) + UnsafeCommands.run(args, "x86_64", configuration, report=False) commands_mock.assert_called_once_with(pytest.helpers.anyvar(int)) print_mock.assert_called_once_with(verbose=True) @@ -47,7 +47,7 @@ def test_run_check(args: argparse.Namespace, configuration: Configuration, mocke return_value=["command"]) check_mock = mocker.patch("ahriman.application.handlers.UnsafeCommands.check_unsafe") - UnsafeCommands.run(args, "x86_64", configuration, report=False, unsafe=False) + UnsafeCommands.run(args, "x86_64", configuration, report=False) commands_mock.assert_called_once_with(pytest.helpers.anyvar(int)) check_mock.assert_called_once_with(["clean"], ["command"], pytest.helpers.anyvar(int)) diff --git a/tests/ahriman/application/handlers/test_handler_update.py b/tests/ahriman/application/handlers/test_handler_update.py index 496fac11..09115ae6 100644 --- a/tests/ahriman/application/handlers/test_handler_update.py +++ b/tests/ahriman/application/handlers/test_handler_update.py @@ -53,7 +53,7 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration: on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") print_mock = mocker.patch("ahriman.application.application.Application.print_updates") - Update.run(args, "x86_64", configuration, report=False, unsafe=False) + Update.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with([package_ahriman], Packagers(args.username, {package_ahriman.base: "packager"})) updates_mock.assert_called_once_with(args.package, aur=args.aur, local=args.local, manual=args.manual, vcs=args.vcs) @@ -75,7 +75,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat mocker.patch("ahriman.application.application.Application.updates", return_value=[]) check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - Update.run(args, "x86_64", configuration, report=False, unsafe=False) + Update.run(args, "x86_64", configuration, report=False) check_mock.assert_called_once_with(True, True) @@ -93,7 +93,7 @@ def test_run_update_empty_exception(args: argparse.Namespace, package_ahriman: P mocker.patch("ahriman.application.application.Application.print_updates") check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - Update.run(args, "x86_64", configuration, report=False, unsafe=False) + Update.run(args, "x86_64", configuration, report=False) check_mock.assert_has_calls([MockCall(True, False), MockCall(True, True)]) @@ -109,7 +109,7 @@ def test_run_dry_run(args: argparse.Namespace, configuration: Configuration, rep check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") updates_mock = mocker.patch("ahriman.application.application.Application.updates") - Update.run(args, "x86_64", configuration, report=False, unsafe=False) + Update.run(args, "x86_64", configuration, report=False) updates_mock.assert_called_once_with(args.package, aur=args.aur, local=args.local, manual=args.manual, vcs=args.vcs) application_mock.assert_not_called() check_mock.assert_called_once_with(False, pytest.helpers.anyvar(int)) diff --git a/tests/ahriman/application/handlers/test_handler_users.py b/tests/ahriman/application/handlers/test_handler_users.py index b9f31fe2..dd008301 100644 --- a/tests/ahriman/application/handlers/test_handler_users.py +++ b/tests/ahriman/application/handlers/test_handler_users.py @@ -47,7 +47,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, database: S create_user_mock = mocker.patch("ahriman.application.handlers.Users.user_create", return_value=user) update_mock = mocker.patch("ahriman.core.database.SQLite.user_update") - Users.run(args, "x86_64", configuration, report=False, unsafe=False) + Users.run(args, "x86_64", configuration, report=False) create_user_mock.assert_called_once_with(args) update_mock.assert_called_once_with(user) @@ -63,7 +63,7 @@ def test_run_empty_salt(args: argparse.Namespace, configuration: Configuration, mocker.patch("ahriman.models.user.User.hash_password", return_value=user) with pytest.raises(configparser.NoOptionError): - Users.run(args, "x86_64", configuration, report=False, unsafe=False) + Users.run(args, "x86_64", configuration, report=False) def test_run_empty_salt_without_password(args: argparse.Namespace, configuration: Configuration, database: SQLite, @@ -80,7 +80,7 @@ def test_run_empty_salt_without_password(args: argparse.Namespace, configuration create_user_mock = mocker.patch("ahriman.application.handlers.Users.user_create", return_value=user) update_mock = mocker.patch("ahriman.core.database.SQLite.user_update") - Users.run(args, "x86_64", configuration, report=False, unsafe=False) + Users.run(args, "x86_64", configuration, report=False) create_user_mock.assert_called_once_with(args) update_mock.assert_called_once_with(user) @@ -96,7 +96,7 @@ def test_run_list(args: argparse.Namespace, configuration: Configuration, databa check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") list_mock = mocker.patch("ahriman.core.database.SQLite.user_list", return_value=[user]) - Users.run(args, "x86_64", configuration, report=False, unsafe=False) + Users.run(args, "x86_64", configuration, report=False) list_mock.assert_called_once_with("user", args.role) check_mock.assert_called_once_with(False, False) @@ -113,7 +113,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat mocker.patch("ahriman.core.database.SQLite.user_list", return_value=[]) check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty") - Users.run(args, "x86_64", configuration, report=False, unsafe=False) + Users.run(args, "x86_64", configuration, report=False) check_mock.assert_called_once_with(True, True) @@ -127,7 +127,7 @@ def test_run_remove(args: argparse.Namespace, configuration: Configuration, data mocker.patch("ahriman.core.database.SQLite.load", return_value=database) remove_mock = mocker.patch("ahriman.core.database.SQLite.user_remove") - Users.run(args, "x86_64", configuration, report=False, unsafe=False) + Users.run(args, "x86_64", configuration, report=False) remove_mock.assert_called_once_with(args.username) diff --git a/tests/ahriman/application/handlers/test_handler_validate.py b/tests/ahriman/application/handlers/test_handler_validate.py index bcea1e64..093aae56 100644 --- a/tests/ahriman/application/handlers/test_handler_validate.py +++ b/tests/ahriman/application/handlers/test_handler_validate.py @@ -33,7 +33,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc print_mock = mocker.patch("ahriman.core.formatters.Printer.print") application_mock = mocker.patch("ahriman.core.configuration.validator.Validator.validate", return_value=False) - Validate.run(args, "x86_64", configuration, report=False, unsafe=False) + Validate.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with(configuration.dump()) print_mock.assert_called_once_with(verbose=True) @@ -47,7 +47,7 @@ def test_run_skip(args: argparse.Namespace, configuration: Configuration, mocker mocker.patch("ahriman.core.configuration.validator.Validator.validate", return_value=True) print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - Validate.run(args, "x86_64", configuration, report=False, unsafe=False) + Validate.run(args, "x86_64", configuration, report=False) print_mock.assert_not_called() diff --git a/tests/ahriman/application/handlers/test_handler_versions.py b/tests/ahriman/application/handlers/test_handler_versions.py index 735ffed3..47cf725e 100644 --- a/tests/ahriman/application/handlers/test_handler_versions.py +++ b/tests/ahriman/application/handlers/test_handler_versions.py @@ -14,7 +14,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc application_mock = mocker.patch("ahriman.application.handlers.Versions.package_dependencies") print_mock = mocker.patch("ahriman.core.formatters.Printer.print") - Versions.run(args, "x86_64", configuration, report=False, unsafe=False) + Versions.run(args, "x86_64", configuration, report=False) application_mock.assert_called_once_with("ahriman") print_mock.assert_has_calls([MockCall(verbose=False, separator=" "), MockCall(verbose=False, separator=" ")]) diff --git a/tests/ahriman/application/handlers/test_handler_web.py b/tests/ahriman/application/handlers/test_handler_web.py index e668b1bc..a5a149c4 100644 --- a/tests/ahriman/application/handlers/test_handler_web.py +++ b/tests/ahriman/application/handlers/test_handler_web.py @@ -41,7 +41,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: stop_mock = mocker.patch("ahriman.core.spawn.Spawn.stop") join_mock = mocker.patch("ahriman.core.spawn.Spawn.join") - Web.run(args, "x86_64", configuration, report=False, unsafe=False) + Web.run(args, "x86_64", configuration, report=False) setup_mock.assert_called_once_with("x86_64", configuration, pytest.helpers.anyvar(int)) run_mock.assert_called_once_with(pytest.helpers.anyvar(int)) start_mock.assert_called_once_with() diff --git a/tests/ahriman/application/test_lock.py b/tests/ahriman/application/test_lock.py index 0da24fa9..a9d9e2b9 100644 --- a/tests/ahriman/application/test_lock.py +++ b/tests/ahriman/application/test_lock.py @@ -57,8 +57,11 @@ def test_check_user(lock: Lock, mocker: MockerFixture) -> None: must check user correctly """ check_user_patch = mocker.patch("ahriman.application.lock.check_user") + tree_create = mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") + lock.check_user() check_user_patch.assert_called_once_with(lock.paths, unsafe=False) + tree_create.assert_called_once_with() def test_check_user_exception(lock: Lock, mocker: MockerFixture) -> None: @@ -70,10 +73,11 @@ def test_check_user_exception(lock: Lock, mocker: MockerFixture) -> None: lock.check_user() -def test_check_user_unsafe(lock: Lock) -> None: +def test_check_user_unsafe(lock: Lock, mocker: MockerFixture) -> None: """ must skip user check if unsafe flag set """ + mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") lock.unsafe = True lock.check_user() diff --git a/tests/ahriman/conftest.py b/tests/ahriman/conftest.py index 0bcb3559..68ad9c9e 100644 --- a/tests/ahriman/conftest.py +++ b/tests/ahriman/conftest.py @@ -443,9 +443,8 @@ def repository(configuration: Configuration, database: SQLite, mocker: MockerFix Returns: Repository: repository test instance """ - mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") mocker.patch("ahriman.core.repository.Repository._set_context") - return Repository.load("x86_64", configuration, database, report=False, unsafe=False) + return Repository.load("x86_64", configuration, database, report=False) @pytest.fixture diff --git a/tests/ahriman/core/repository/conftest.py b/tests/ahriman/core/repository/conftest.py index 041aca36..fa602a10 100644 --- a/tests/ahriman/core/repository/conftest.py +++ b/tests/ahriman/core/repository/conftest.py @@ -7,23 +7,23 @@ from ahriman.core.database import SQLite from ahriman.core.repository.cleaner import Cleaner from ahriman.core.repository.executor import Executor from ahriman.core.repository.update_handler import UpdateHandler +from ahriman.models.pacman_synchronization import PacmanSynchronization @pytest.fixture -def cleaner(configuration: Configuration, database: SQLite, mocker: MockerFixture) -> Cleaner: +def cleaner(configuration: Configuration, database: SQLite) -> Cleaner: """ fixture for cleaner Args: configuration(Configuration): configuration fixture database(SQLite): database fixture - mocker(MockerFixture): mocker object Returns: Cleaner: cleaner test instance """ - mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") - return Cleaner("x86_64", configuration, database, report=False, unsafe=False, refresh_pacman_database=0) + return Cleaner("x86_64", configuration, database, report=False, + refresh_pacman_database=PacmanSynchronization.Disabled) @pytest.fixture @@ -43,8 +43,8 @@ def executor(configuration: Configuration, database: SQLite, mocker: MockerFixtu mocker.patch("ahriman.core.repository.cleaner.Cleaner.clear_chroot") mocker.patch("ahriman.core.repository.cleaner.Cleaner.clear_packages") mocker.patch("ahriman.core.repository.cleaner.Cleaner.clear_queue") - mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") - return Executor("x86_64", configuration, database, report=False, unsafe=False, refresh_pacman_database=0) + return Executor("x86_64", configuration, database, report=False, + refresh_pacman_database=PacmanSynchronization.Disabled) @pytest.fixture @@ -64,5 +64,5 @@ def update_handler(configuration: Configuration, database: SQLite, mocker: Mocke mocker.patch("ahriman.core.repository.cleaner.Cleaner.clear_chroot") mocker.patch("ahriman.core.repository.cleaner.Cleaner.clear_packages") mocker.patch("ahriman.core.repository.cleaner.Cleaner.clear_queue") - mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") - return UpdateHandler("x86_64", configuration, database, report=False, unsafe=False, refresh_pacman_database=0) + return UpdateHandler("x86_64", configuration, database, report=False, + refresh_pacman_database=PacmanSynchronization.Disabled) diff --git a/tests/ahriman/core/repository/test_repository.py b/tests/ahriman/core/repository/test_repository.py index 8120ee7b..e45ff345 100644 --- a/tests/ahriman/core/repository/test_repository.py +++ b/tests/ahriman/core/repository/test_repository.py @@ -17,9 +17,8 @@ def test_load(configuration: Configuration, database: SQLite, mocker: MockerFixt """ must correctly load instance """ - mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") context_mock = mocker.patch("ahriman.core.repository.Repository._set_context") - Repository.load("x86_64", configuration, database, report=False, unsafe=False) + Repository.load("x86_64", configuration, database, report=False) context_mock.assert_called_once_with() @@ -27,10 +26,9 @@ def test_set_context(configuration: Configuration, database: SQLite, mocker: Moc """ must set context variables """ - mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") set_mock = mocker.patch("ahriman.core._Context.set") - instance = Repository.load("x86_64", configuration, database, report=False, unsafe=False) + instance = Repository.load("x86_64", configuration, database, report=False) set_mock.assert_has_calls([ MockCall(ContextKey("database", SQLite), instance.database), MockCall(ContextKey("configuration", Configuration), instance.configuration), diff --git a/tests/ahriman/core/repository/test_repository_properties.py b/tests/ahriman/core/repository/test_repository_properties.py index cbc45f75..694e8467 100644 --- a/tests/ahriman/core/repository/test_repository_properties.py +++ b/tests/ahriman/core/repository/test_repository_properties.py @@ -1,39 +1,11 @@ from pytest_mock import MockerFixture -from ahriman.core.configuration import Configuration -from ahriman.core.database import SQLite -from ahriman.core.exceptions import UnsafeRunError from ahriman.core.repository.repository_properties import RepositoryProperties from ahriman.models.packagers import Packagers -from ahriman.models.pacman_synchronization import PacmanSynchronization from ahriman.models.user import User from ahriman.models.user_access import UserAccess -def test_create_tree_on_load(configuration: Configuration, database: SQLite, mocker: MockerFixture) -> None: - """ - must create tree on load - """ - mocker.patch("ahriman.core.repository.repository_properties.check_user") - tree_create_mock = mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") - RepositoryProperties("x86_64", configuration, database, report=False, unsafe=False, - refresh_pacman_database=PacmanSynchronization.Disabled) - - tree_create_mock.assert_called_once_with() - - -def test_create_tree_on_load_unsafe(configuration: Configuration, database: SQLite, mocker: MockerFixture) -> None: - """ - must not create tree on load in case if user differs from the root owner - """ - mocker.patch("ahriman.core.repository.repository_properties.check_user", side_effect=UnsafeRunError(0, 1)) - tree_create_mock = mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") - RepositoryProperties("x86_64", configuration, database, report=False, unsafe=False, - refresh_pacman_database=PacmanSynchronization.Disabled) - - tree_create_mock.assert_not_called() - - def test_packager(repository: RepositoryProperties, mocker: MockerFixture) -> None: """ must extract packager diff --git a/tests/ahriman/core/status/test_watcher.py b/tests/ahriman/core/status/test_watcher.py index 4ee0ae97..b1ccc3ab 100644 --- a/tests/ahriman/core/status/test_watcher.py +++ b/tests/ahriman/core/status/test_watcher.py @@ -19,7 +19,7 @@ def test_force_no_report(configuration: Configuration, database: SQLite, mocker: load_mock = mocker.patch("ahriman.core.repository.Repository.load") Watcher("x86_64", configuration, database) - load_mock.assert_called_once_with("x86_64", configuration, database, report=False, unsafe=False) + load_mock.assert_called_once_with("x86_64", configuration, database, report=False) def test_get(watcher: Watcher, package_ahriman: Package) -> None: