mirror of
				https://github.com/arcan1s/ahriman.git
				synced 2025-10-30 05:13:42 +00:00 
			
		
		
		
	move argument parsers to handlers themselves
This commit is contained in:
		| @ -4,7 +4,7 @@ import pytest | ||||
| from pathlib import Path | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Handler | ||||
| from ahriman.application.handlers.handler import Handler | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.exceptions import ExitCode, MissingArchitectureError, MultipleArchitecturesError | ||||
| from ahriman.models.log_handler import LogHandler | ||||
| @ -19,7 +19,7 @@ def test_call(args: argparse.Namespace, configuration: Configuration, mocker: Mo | ||||
|     args.log_handler = LogHandler.Console | ||||
|     args.quiet = False | ||||
|     args.report = False | ||||
|     mocker.patch("ahriman.application.handlers.Handler.run") | ||||
|     mocker.patch("ahriman.application.handlers.handler.Handler.run") | ||||
|     configuration_mock = mocker.patch("ahriman.core.configuration.Configuration.from_path", return_value=configuration) | ||||
|     log_handler_mock = mocker.patch("ahriman.core.log.log_loader.LogLoader.handler", return_value=args.log_handler) | ||||
|     log_load_mock = mocker.patch("ahriman.core.log.log_loader.LogLoader.load") | ||||
| @ -76,7 +76,7 @@ def test_execute(args: argparse.Namespace, mocker: MockerFixture) -> None: | ||||
|         RepositoryId("i686", "aur"), | ||||
|         RepositoryId("x86_64", "aur"), | ||||
|     ] | ||||
|     mocker.patch("ahriman.application.handlers.Handler.repositories_extract", return_value=ids) | ||||
|     mocker.patch("ahriman.application.handlers.handler.Handler.repositories_extract", return_value=ids) | ||||
|     starmap_mock = mocker.patch("multiprocessing.pool.Pool.starmap") | ||||
|  | ||||
|     Handler.execute(args) | ||||
| @ -88,7 +88,7 @@ def test_execute_multiple_not_supported(args: argparse.Namespace, mocker: Mocker | ||||
|     must raise an exception if multiple architectures are not supported by the handler | ||||
|     """ | ||||
|     args.command = "web" | ||||
|     mocker.patch("ahriman.application.handlers.Handler.repositories_extract", return_value=[ | ||||
|     mocker.patch("ahriman.application.handlers.handler.Handler.repositories_extract", return_value=[ | ||||
|         RepositoryId("i686", "aur"), | ||||
|         RepositoryId("x86_64", "aur"), | ||||
|     ]) | ||||
| @ -102,7 +102,7 @@ def test_execute_single(args: argparse.Namespace, mocker: MockerFixture) -> None | ||||
|     """ | ||||
|     must run execution in current process if only one architecture supplied | ||||
|     """ | ||||
|     mocker.patch("ahriman.application.handlers.Handler.repositories_extract", return_value=[ | ||||
|     mocker.patch("ahriman.application.handlers.handler.Handler.repositories_extract", return_value=[ | ||||
|         RepositoryId("x86_64", "aur"), | ||||
|     ]) | ||||
|     starmap_mock = mocker.patch("multiprocessing.pool.Pool.starmap") | ||||
|  | ||||
| @ -3,7 +3,7 @@ import pytest | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Add | ||||
| from ahriman.application.handlers.add import Add | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.package import Package | ||||
| @ -82,7 +82,7 @@ def test_run_with_updates(args: argparse.Namespace, configuration: Configuration | ||||
|     mocker.patch("ahriman.application.application.Application.add") | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     application_mock = mocker.patch("ahriman.application.application.Application.update", return_value=result) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     changes_mock = mocker.patch("ahriman.application.application.Application.changes") | ||||
|     updates_mock = mocker.patch("ahriman.application.application.Application.updates", return_value=[package_ahriman]) | ||||
|     dependencies_mock = mocker.patch("ahriman.application.application.Application.with_dependencies", | ||||
| @ -113,7 +113,7 @@ def test_run_no_changes(args: argparse.Namespace, configuration: Configuration, | ||||
|     mocker.patch("ahriman.application.application.Application.add") | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.application.Application.update") | ||||
|     mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     mocker.patch("ahriman.application.application.Application.updates") | ||||
|     mocker.patch("ahriman.application.application.Application.with_dependencies") | ||||
|     mocker.patch("ahriman.application.application.Application.print_updates") | ||||
| @ -138,7 +138,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat | ||||
|     mocker.patch("ahriman.application.application.Application.with_dependencies") | ||||
|     mocker.patch("ahriman.application.application.Application.updates") | ||||
|     mocker.patch("ahriman.application.application.Application.print_updates") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Add.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -4,7 +4,7 @@ from pathlib import Path | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import MagicMock | ||||
|  | ||||
| from ahriman.application.handlers import Backup | ||||
| from ahriman.application.handlers.backup import Backup | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.models.repository_paths import RepositoryPaths | ||||
|  | ||||
| @ -28,7 +28,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc | ||||
|     must run command | ||||
|     """ | ||||
|     args = _default_args(args) | ||||
|     mocker.patch("ahriman.application.handlers.Backup.get_paths", return_value=[Path("path")]) | ||||
|     mocker.patch("ahriman.application.handlers.backup.Backup.get_paths", return_value=[Path("path")]) | ||||
|     tarfile = MagicMock() | ||||
|     add_mock = tarfile.__enter__.return_value = MagicMock() | ||||
|     mocker.patch("ahriman.application.handlers.backup.tarfile.open", return_value=tarfile) | ||||
|  | ||||
| @ -3,7 +3,7 @@ import pytest | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Change | ||||
| from ahriman.application.handlers.change import Change | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.database import SQLite | ||||
| from ahriman.core.repository import Repository | ||||
| @ -36,7 +36,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.status.local_client.LocalClient.package_changes_get", | ||||
|                                     return_value=Changes("sha", "change")) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -55,7 +55,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat | ||||
|     args.exit_code = True | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.core.status.local_client.LocalClient.package_changes_get", return_value=Changes()) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Change.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -2,7 +2,7 @@ import argparse | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Clean | ||||
| from ahriman.application.handlers.clean import Clean | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
|  | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.application import Application | ||||
| from ahriman.application.handlers import Copy | ||||
| from ahriman.application.handlers.copy import Copy | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.build_status import BuildStatusEnum | ||||
| @ -37,7 +37,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: | ||||
|     args = _default_args(args) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.core.repository.Repository.packages", return_value=[package_ahriman]) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Copy.copy_package") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.copy.Copy.copy_package") | ||||
|     update_mock = mocker.patch("ahriman.application.application.Application.update") | ||||
|     remove_mock = mocker.patch("ahriman.application.application.Application.remove") | ||||
|     on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") | ||||
| @ -59,7 +59,7 @@ def test_run_remove(args: argparse.Namespace, configuration: Configuration, repo | ||||
|     args.remove = True | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.core.repository.Repository.packages", return_value=[package_ahriman]) | ||||
|     mocker.patch("ahriman.application.handlers.Copy.copy_package") | ||||
|     mocker.patch("ahriman.application.handlers.copy.Copy.copy_package") | ||||
|     mocker.patch("ahriman.application.application.Application.update") | ||||
|     remove_mock = mocker.patch("ahriman.application.application.Application.remove") | ||||
|  | ||||
| @ -77,7 +77,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat | ||||
|     args.exit_code = True | ||||
|     mocker.patch("ahriman.core.repository.Repository.packages", return_value=[]) | ||||
|     mocker.patch("ahriman.application.application.Application.update") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Copy.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -2,7 +2,7 @@ import argparse | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Daemon | ||||
| from ahriman.application.handlers.daemon import Daemon | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.package import Package | ||||
| @ -31,7 +31,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, package_ahr | ||||
|     """ | ||||
|     args = _default_args(args) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     run_mock = mocker.patch("ahriman.application.handlers.Update.run") | ||||
|     run_mock = mocker.patch("ahriman.application.handlers.update.Update.run") | ||||
|     iter_mock = mocker.patch("ahriman.application.application.updates_iterator.UpdatesIterator.__iter__", | ||||
|                              return_value=iter([[package_ahriman.base]])) | ||||
|  | ||||
| @ -50,7 +50,7 @@ def test_run_no_partitions(args: argparse.Namespace, configuration: Configuratio | ||||
|     args = _default_args(args) | ||||
|     args.partitions = False | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     run_mock = mocker.patch("ahriman.application.handlers.Update.run") | ||||
|     run_mock = mocker.patch("ahriman.application.handlers.update.Update.run") | ||||
|     iter_mock = mocker.patch("ahriman.application.application.updates_iterator.UpdatesIterator.__iter__", | ||||
|                              return_value=iter([[]])) | ||||
|  | ||||
| @ -67,7 +67,7 @@ def test_run_no_updates(args: argparse.Namespace, configuration: Configuration, | ||||
|     """ | ||||
|     args = _default_args(args) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     run_mock = mocker.patch("ahriman.application.handlers.Update.run") | ||||
|     run_mock = mocker.patch("ahriman.application.handlers.update.Update.run") | ||||
|     iter_mock = mocker.patch("ahriman.application.application.updates_iterator.UpdatesIterator.__iter__", | ||||
|                              return_value=iter([[package_ahriman.base], None])) | ||||
|  | ||||
|  | ||||
| @ -3,7 +3,7 @@ import pytest | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Dump | ||||
| from ahriman.application.handlers.dump import Dump | ||||
| from ahriman.core.configuration import Configuration | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -3,7 +3,7 @@ import argparse | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.ahriman import _parser | ||||
| from ahriman.application.handlers import Help | ||||
| from ahriman.application.handlers.help import Help | ||||
| from ahriman.core.configuration import Configuration | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -2,7 +2,7 @@ import argparse | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import KeyImport | ||||
| from ahriman.application.handlers.key_import import KeyImport | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
|  | ||||
|  | ||||
| @ -6,7 +6,7 @@ from pathlib import Path | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.application import Application | ||||
| from ahriman.application.handlers import Patch | ||||
| from ahriman.application.handlers.patch import Patch | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.action import Action | ||||
| @ -40,9 +40,9 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: | ||||
|     args = _default_args(args) | ||||
|     args.action = Action.Update | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     patch_mock = mocker.patch("ahriman.application.handlers.Patch.patch_create_from_diff", | ||||
|     patch_mock = mocker.patch("ahriman.application.handlers.patch.Patch.patch_create_from_diff", | ||||
|                               return_value=(args.package, PkgbuildPatch(None, "patch"))) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Patch.patch_set_create") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.patch.Patch.patch_set_create") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Patch.run(args, repository_id, configuration, report=False) | ||||
| @ -61,8 +61,9 @@ def test_run_function(args: argparse.Namespace, configuration: Configuration, re | ||||
|     args.variable = "version" | ||||
|     patch = PkgbuildPatch(args.variable, args.patch) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     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_mock = mocker.patch("ahriman.application.handlers.patch.Patch.patch_create_from_function", | ||||
|                               return_value=patch) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.patch.Patch.patch_set_create") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Patch.run(args, repository_id, configuration, report=False) | ||||
| @ -79,7 +80,7 @@ def test_run_list(args: argparse.Namespace, configuration: Configuration, reposi | ||||
|     args.action = Action.List | ||||
|     args.variable = ["version"] | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Patch.patch_set_list") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.patch.Patch.patch_set_list") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Patch.run(args, repository_id, configuration, report=False) | ||||
| @ -95,7 +96,7 @@ def test_run_remove(args: argparse.Namespace, configuration: Configuration, repo | ||||
|     args.action = Action.Remove | ||||
|     args.variable = ["version"] | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Patch.patch_set_remove") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.patch.Patch.patch_set_remove") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Patch.run(args, repository_id, configuration, report=False) | ||||
| @ -163,7 +164,7 @@ def test_patch_set_list(application: Application, mocker: MockerFixture) -> None | ||||
|     get_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.package_patches_get", | ||||
|                             return_value=[PkgbuildPatch(None, "patch"), PkgbuildPatch("version", "value")]) | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     Patch.patch_set_list(application, "ahriman", ["version"], False) | ||||
|     get_mock.assert_called_once_with("ahriman", None) | ||||
| @ -178,7 +179,7 @@ def test_patch_set_list_all(application: Application, mocker: MockerFixture) -> | ||||
|     get_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.package_patches_get", | ||||
|                             return_value=[PkgbuildPatch(None, "patch")]) | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     Patch.patch_set_list(application, "ahriman", None, False) | ||||
|     get_mock.assert_called_once_with("ahriman", None) | ||||
| @ -191,7 +192,7 @@ def test_patch_set_list_empty_exception(application: Application, mocker: Mocker | ||||
|     must raise ExitCode exception on empty patch list | ||||
|     """ | ||||
|     mocker.patch("ahriman.core.status.local_client.LocalClient.package_patches_get", return_value={}) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     Patch.patch_set_list(application, "ahriman", [], True) | ||||
|     check_mock.assert_called_once_with(True, []) | ||||
|  | ||||
| @ -5,7 +5,7 @@ from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.application import Application | ||||
| from ahriman.application.handlers import Rebuild | ||||
| from ahriman.application.handlers.rebuild import Rebuild | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.build_status import BuildStatus, BuildStatusEnum | ||||
| @ -43,11 +43,12 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration: | ||||
|     result = Result() | ||||
|     result.add_updated(package_ahriman) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     extract_mock = mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[package_ahriman]) | ||||
|     extract_mock = mocker.patch("ahriman.application.handlers.rebuild.Rebuild.extract_packages", | ||||
|                                 return_value=[package_ahriman]) | ||||
|     application_packages_mock = mocker.patch("ahriman.core.repository.repository.Repository.packages_depend_on", | ||||
|                                              return_value=[package_ahriman]) | ||||
|     application_mock = mocker.patch("ahriman.application.application.Application.update", return_value=result) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     on_start_mock = mocker.patch("ahriman.application.application.Application.on_start") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -70,7 +71,7 @@ def test_run_extract_packages(args: argparse.Namespace, configuration: Configura | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.application.Application.add") | ||||
|     mocker.patch("ahriman.application.application.Application.print_updates") | ||||
|     extract_mock = mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[]) | ||||
|     extract_mock = mocker.patch("ahriman.application.handlers.rebuild.Rebuild.extract_packages", return_value=[]) | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Rebuild.run(args, repository_id, configuration, report=False) | ||||
| @ -85,9 +86,9 @@ def test_run_dry_run(args: argparse.Namespace, configuration: Configuration, rep | ||||
|     args = _default_args(args) | ||||
|     args.dry_run = True | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[package_ahriman]) | ||||
|     mocker.patch("ahriman.application.handlers.rebuild.Rebuild.extract_packages", return_value=[package_ahriman]) | ||||
|     application_mock = mocker.patch("ahriman.application.application.Application.update") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     print_mock = mocker.patch("ahriman.application.application.Application.print_updates") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -106,7 +107,7 @@ def test_run_filter(args: argparse.Namespace, configuration: Configuration, repo | ||||
|     args.depends_on = ["python-aur"] | ||||
|     mocker.patch("ahriman.application.application.Application.update") | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[]) | ||||
|     mocker.patch("ahriman.application.handlers.rebuild.Rebuild.extract_packages", return_value=[]) | ||||
|     application_packages_mock = mocker.patch("ahriman.core.repository.repository.Repository.packages_depend_on") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -122,7 +123,7 @@ def test_run_without_filter(args: argparse.Namespace, configuration: Configurati | ||||
|     args = _default_args(args) | ||||
|     mocker.patch("ahriman.application.application.Application.update") | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[]) | ||||
|     mocker.patch("ahriman.application.handlers.rebuild.Rebuild.extract_packages", return_value=[]) | ||||
|     application_packages_mock = mocker.patch("ahriman.core.repository.repository.Repository.packages_depend_on") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -139,10 +140,10 @@ def test_run_update_empty_exception(args: argparse.Namespace, configuration: Con | ||||
|     args.exit_code = True | ||||
|     args.dry_run = True | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.handlers.Rebuild.extract_packages") | ||||
|     mocker.patch("ahriman.application.handlers.rebuild.Rebuild.extract_packages") | ||||
|     mocker.patch("ahriman.core.repository.repository.Repository.packages_depend_on", return_value=[]) | ||||
|     mocker.patch("ahriman.application.application.Application.print_updates") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Rebuild.run(args, repository_id, configuration, report=False) | ||||
| @ -157,10 +158,10 @@ def test_run_build_empty_exception(args: argparse.Namespace, configuration: Conf | ||||
|     args = _default_args(args) | ||||
|     args.exit_code = True | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.handlers.Rebuild.extract_packages") | ||||
|     mocker.patch("ahriman.application.handlers.rebuild.Rebuild.extract_packages") | ||||
|     mocker.patch("ahriman.core.repository.repository.Repository.packages_depend_on", return_value=[package_ahriman]) | ||||
|     mocker.patch("ahriman.application.application.Application.update", return_value=Result()) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Rebuild.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -2,7 +2,7 @@ import argparse | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Remove | ||||
| from ahriman.application.handlers.remove import Remove | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
|  | ||||
|  | ||||
| @ -3,7 +3,7 @@ import pytest | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import RemoveUnknown | ||||
| from ahriman.application.handlers.remove_unknown import RemoveUnknown | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.package import Package | ||||
|  | ||||
| @ -3,7 +3,7 @@ import pytest | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Repositories | ||||
| from ahriman.application.handlers.repositories import Repositories | ||||
| from ahriman.core.configuration import Configuration | ||||
|  | ||||
|  | ||||
| @ -29,7 +29,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc | ||||
|     args = _default_args(args) | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Handler.repositories_extract", | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.handler.Handler.repositories_extract", | ||||
|                                     return_value=[repository_id]) | ||||
|  | ||||
|     Repositories.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -4,7 +4,7 @@ from pathlib import Path | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import MagicMock | ||||
|  | ||||
| from ahriman.application.handlers import Restore | ||||
| from ahriman.application.handlers.restore import Restore | ||||
| from ahriman.core.configuration import Configuration | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.ahriman import _parser | ||||
| from ahriman.application.handlers import Run | ||||
| from ahriman.application.handlers.run import Run | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.exceptions import ExitCode | ||||
|  | ||||
| @ -29,7 +29,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc | ||||
|     must run command | ||||
|     """ | ||||
|     args = _default_args(args) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Run.run_command") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.run.Run.run_command") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Run.run(args, repository_id, configuration, report=False) | ||||
| @ -42,7 +42,7 @@ def test_run_failed(args: argparse.Namespace, configuration: Configuration, mock | ||||
|     """ | ||||
|     args = _default_args(args) | ||||
|     args.command = ["help", "config"] | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Run.run_command", return_value=False) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.run.Run.run_command", return_value=False) | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     with pytest.raises(ExitCode): | ||||
| @ -54,8 +54,13 @@ def test_run_command(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     must correctly run external command | ||||
|     """ | ||||
|     execute_mock = mocker.patch("ahriman.application.handlers.Help.execute") | ||||
|     Run.run_command(["help"], _parser()) | ||||
|     # because of dynamic load we need to patch exact instance of the object | ||||
|     parser = _parser() | ||||
|     subparser = next((action for action in parser._actions if isinstance(action, argparse._SubParsersAction)), None) | ||||
|     action = subparser.choices["help"] | ||||
|     execute_mock = mocker.patch.object(action.get_default("handler"), "execute") | ||||
|  | ||||
|     Run.run_command(["help"], parser) | ||||
|     execute_mock.assert_called_once_with(pytest.helpers.anyvar(int)) | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -5,7 +5,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.handlers import Search | ||||
| from ahriman.application.handlers.search import Search | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.exceptions import OptionError | ||||
| from ahriman.core.repository import Repository | ||||
| @ -39,7 +39,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: | ||||
|     aur_search_mock = mocker.patch("ahriman.core.alpm.remote.AUR.multisearch", return_value=[aur_package_ahriman]) | ||||
|     official_search_mock = mocker.patch("ahriman.core.alpm.remote.Official.multisearch", | ||||
|                                         return_value=[aur_package_ahriman]) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -64,7 +64,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat | ||||
|     mocker.patch("ahriman.core.alpm.remote.Official.multisearch", return_value=[]) | ||||
|     mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Search.run(args, repository_id, configuration, report=False) | ||||
| @ -80,7 +80,7 @@ def test_run_sort(args: argparse.Namespace, configuration: Configuration, reposi | ||||
|     mocker.patch("ahriman.core.alpm.remote.AUR.multisearch", return_value=[aur_package_ahriman]) | ||||
|     mocker.patch("ahriman.core.alpm.remote.Official.multisearch", return_value=[]) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     sort_mock = mocker.patch("ahriman.application.handlers.Search.sort") | ||||
|     sort_mock = mocker.patch("ahriman.application.handlers.search.Search.sort") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Search.run(args, repository_id, configuration, report=False) | ||||
| @ -100,7 +100,7 @@ def test_run_sort_by(args: argparse.Namespace, configuration: Configuration, rep | ||||
|     mocker.patch("ahriman.core.alpm.remote.AUR.multisearch", return_value=[aur_package_ahriman]) | ||||
|     mocker.patch("ahriman.core.alpm.remote.Official.multisearch", return_value=[]) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     sort_mock = mocker.patch("ahriman.application.handlers.Search.sort") | ||||
|     sort_mock = mocker.patch("ahriman.application.handlers.search.Search.sort") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Search.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman import __version__ | ||||
| from ahriman.application.handlers import ServiceUpdates | ||||
| from ahriman.application.handlers.service_updates import ServiceUpdates | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.package import Package | ||||
| @ -34,7 +34,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     package_mock = mocker.patch("ahriman.models.package.Package.from_aur", return_value=package_ahriman) | ||||
|     application_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     ServiceUpdates.run(args, repository_id, configuration, report=False) | ||||
| @ -53,7 +53,7 @@ def test_run_skip(args: argparse.Namespace, configuration: Configuration, reposi | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.models.package.Package.from_aur", return_value=package_ahriman) | ||||
|     application_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     ServiceUpdates.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -7,7 +7,7 @@ from typing import Any | ||||
| from unittest.mock import call as MockCall | ||||
| from urllib.parse import quote_plus as urlencode | ||||
|  | ||||
| from ahriman.application.handlers import Setup | ||||
| from ahriman.application.handlers.setup import Setup | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.exceptions import MissingArchitectureError | ||||
| from ahriman.core.repository import Repository | ||||
| @ -50,11 +50,11 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: | ||||
|     """ | ||||
|     args = _default_args(args) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     ahriman_configuration_mock = mocker.patch("ahriman.application.handlers.Setup.configuration_create_ahriman") | ||||
|     devtools_configuration_mock = mocker.patch("ahriman.application.handlers.Setup.configuration_create_devtools") | ||||
|     makepkg_configuration_mock = mocker.patch("ahriman.application.handlers.Setup.configuration_create_makepkg") | ||||
|     sudo_configuration_mock = mocker.patch("ahriman.application.handlers.Setup.configuration_create_sudo") | ||||
|     executable_mock = mocker.patch("ahriman.application.handlers.Setup.executable_create") | ||||
|     ahriman_configuration_mock = mocker.patch("ahriman.application.handlers.setup.Setup.configuration_create_ahriman") | ||||
|     devtools_configuration_mock = mocker.patch("ahriman.application.handlers.setup.Setup.configuration_create_devtools") | ||||
|     makepkg_configuration_mock = mocker.patch("ahriman.application.handlers.setup.Setup.configuration_create_makepkg") | ||||
|     sudo_configuration_mock = mocker.patch("ahriman.application.handlers.setup.Setup.configuration_create_sudo") | ||||
|     executable_mock = mocker.patch("ahriman.application.handlers.setup.Setup.executable_create") | ||||
|     init_mock = mocker.patch("ahriman.core.alpm.repo.Repo.init") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -95,12 +95,12 @@ def test_run_with_server(args: argparse.Namespace, configuration: Configuration, | ||||
|     args = _default_args(args) | ||||
|     args.server = "server" | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.handlers.Setup.configuration_create_ahriman") | ||||
|     mocker.patch("ahriman.application.handlers.Setup.configuration_create_makepkg") | ||||
|     mocker.patch("ahriman.application.handlers.Setup.configuration_create_sudo") | ||||
|     mocker.patch("ahriman.application.handlers.Setup.executable_create") | ||||
|     mocker.patch("ahriman.application.handlers.setup.Setup.configuration_create_ahriman") | ||||
|     mocker.patch("ahriman.application.handlers.setup.Setup.configuration_create_makepkg") | ||||
|     mocker.patch("ahriman.application.handlers.setup.Setup.configuration_create_sudo") | ||||
|     mocker.patch("ahriman.application.handlers.setup.Setup.executable_create") | ||||
|     mocker.patch("ahriman.core.alpm.repo.Repo.init") | ||||
|     devtools_configuration_mock = mocker.patch("ahriman.application.handlers.Setup.configuration_create_devtools") | ||||
|     devtools_configuration_mock = mocker.patch("ahriman.application.handlers.setup.Setup.configuration_create_devtools") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Setup.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -3,7 +3,7 @@ import pytest | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Shell | ||||
| from ahriman.application.handlers.shell import Shell | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
|  | ||||
|  | ||||
| @ -2,7 +2,7 @@ import argparse | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Sign | ||||
| from ahriman.application.handlers.sign import Sign | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
|  | ||||
|  | ||||
| @ -5,7 +5,7 @@ from pathlib import Path | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.handlers import Statistics | ||||
| from ahriman.application.handlers.statistics import Statistics | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.core.utils import pretty_datetime, utcnow | ||||
| @ -42,7 +42,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository: | ||||
|     events = [Event("1", "1"), Event("2", "2")] | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     events_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.event_get", return_value=events) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Statistics.stats_per_package") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.statistics.Statistics.stats_per_package") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Statistics.run(args, repository_id, configuration, report=False) | ||||
| @ -60,7 +60,7 @@ def test_run_for_package(args: argparse.Namespace, configuration: Configuration, | ||||
|     events = [Event("1", "1"), Event("2", "2")] | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     events_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.event_get", return_value=events) | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Statistics.stats_for_package") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.statistics.Statistics.stats_for_package") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Statistics.run(args, repository_id, configuration, report=False) | ||||
| @ -77,7 +77,7 @@ def test_run_convert_from_date(args: argparse.Namespace, configuration: Configur | ||||
|     date = utcnow() | ||||
|     args.from_date = date.isoformat() | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.handlers.Statistics.stats_per_package") | ||||
|     mocker.patch("ahriman.application.handlers.statistics.Statistics.stats_per_package") | ||||
|     events_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.event_get", return_value=[]) | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -94,7 +94,7 @@ def test_run_convert_to_date(args: argparse.Namespace, configuration: Configurat | ||||
|     date = utcnow() | ||||
|     args.to_date = date.isoformat() | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.handlers.Statistics.stats_per_package") | ||||
|     mocker.patch("ahriman.application.handlers.statistics.Statistics.stats_per_package") | ||||
|     events_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.event_get", return_value=[]) | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -147,8 +147,8 @@ def test_stats_for_package(mocker: MockerFixture) -> None: | ||||
|     must print statistics for the package | ||||
|     """ | ||||
|     events = [Event("event", "1"), Event("event", "1")] | ||||
|     events_mock = mocker.patch("ahriman.application.handlers.Statistics.event_stats") | ||||
|     chart_plot = mocker.patch("ahriman.application.handlers.Statistics.plot_times") | ||||
|     events_mock = mocker.patch("ahriman.application.handlers.statistics.Statistics.event_stats") | ||||
|     chart_plot = mocker.patch("ahriman.application.handlers.statistics.Statistics.plot_times") | ||||
|  | ||||
|     Statistics.stats_for_package("event", events, None) | ||||
|     events_mock.assert_called_once_with("event", events) | ||||
| @ -161,8 +161,8 @@ def test_stats_for_package_with_chart(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     local = Path("local") | ||||
|     events = [Event("event", "1"), Event("event", "1")] | ||||
|     mocker.patch("ahriman.application.handlers.Statistics.event_stats") | ||||
|     chart_plot = mocker.patch("ahriman.application.handlers.Statistics.plot_times") | ||||
|     mocker.patch("ahriman.application.handlers.statistics.Statistics.event_stats") | ||||
|     chart_plot = mocker.patch("ahriman.application.handlers.statistics.Statistics.plot_times") | ||||
|  | ||||
|     Statistics.stats_for_package("event", events, local) | ||||
|     chart_plot.assert_called_once_with("event", events, local) | ||||
| @ -174,8 +174,8 @@ def test_stats_per_package(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     events = [Event("event", "1"), Event("event", "2"), Event("event", "1")] | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|     events_mock = mocker.patch("ahriman.application.handlers.Statistics.event_stats") | ||||
|     chart_plot = mocker.patch("ahriman.application.handlers.Statistics.plot_packages") | ||||
|     events_mock = mocker.patch("ahriman.application.handlers.statistics.Statistics.event_stats") | ||||
|     chart_plot = mocker.patch("ahriman.application.handlers.statistics.Statistics.plot_packages") | ||||
|  | ||||
|     Statistics.stats_per_package("event", events, None) | ||||
|     print_mock.assert_has_calls([ | ||||
| @ -192,8 +192,8 @@ def test_stats_per_package_with_chart(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     local = Path("local") | ||||
|     events = [Event("event", "1"), Event("event", "2"), Event("event", "1")] | ||||
|     mocker.patch("ahriman.application.handlers.Statistics.event_stats") | ||||
|     chart_plot = mocker.patch("ahriman.application.handlers.Statistics.plot_packages") | ||||
|     mocker.patch("ahriman.application.handlers.statistics.Statistics.event_stats") | ||||
|     chart_plot = mocker.patch("ahriman.application.handlers.statistics.Statistics.plot_packages") | ||||
|  | ||||
|     Statistics.stats_per_package("event", events, local) | ||||
|     chart_plot.assert_called_once_with("event", {"1": 2, "2": 1}, local) | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.handlers import Status | ||||
| from ahriman.application.handlers.status import Status | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.database import SQLite | ||||
| from ahriman.core.repository import Repository | ||||
| @ -43,7 +43,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.status.Client.status_get") | ||||
|     packages_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.package_get", return_value=packages) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -67,7 +67,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.core.status.Client.status_get") | ||||
|     mocker.patch("ahriman.core.status.local_client.LocalClient.package_get", return_value=[]) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Status.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -2,7 +2,7 @@ import argparse | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import StatusUpdate | ||||
| from ahriman.application.handlers.status_update import StatusUpdate | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.database import SQLite | ||||
| from ahriman.core.repository import Repository | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.handlers import Structure | ||||
| from ahriman.application.handlers.structure import Structure | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.package import Package | ||||
|  | ||||
| @ -4,7 +4,7 @@ from pathlib import Path | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.handlers import TreeMigrate | ||||
| from ahriman.application.handlers.tree_migrate import TreeMigrate | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.models.repository_id import RepositoryId | ||||
| from ahriman.models.repository_paths import RepositoryPaths | ||||
| @ -15,7 +15,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc | ||||
|     must run command | ||||
|     """ | ||||
|     tree_create_mock = mocker.patch("ahriman.models.repository_paths.RepositoryPaths.tree_create") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.TreeMigrate.tree_move") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.tree_migrate.TreeMigrate.tree_move") | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     old_paths = configuration.repository_paths | ||||
|     new_paths = RepositoryPaths(old_paths.root, old_paths.repository_id, _force_current_tree=True) | ||||
|  | ||||
| @ -2,7 +2,7 @@ import argparse | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Triggers | ||||
| from ahriman.application.handlers.triggers import Triggers | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.package import Package | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.ahriman import _parser | ||||
| from ahriman.application.handlers import UnsafeCommands | ||||
| from ahriman.application.handlers.unsafe_commands import UnsafeCommands | ||||
| from ahriman.core.configuration import Configuration | ||||
|  | ||||
|  | ||||
| @ -28,7 +28,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc | ||||
|     must run command | ||||
|     """ | ||||
|     args = _default_args(args) | ||||
|     commands_mock = mocker.patch("ahriman.application.handlers.UnsafeCommands.get_unsafe_commands", | ||||
|     commands_mock = mocker.patch("ahriman.application.handlers.unsafe_commands.UnsafeCommands.get_unsafe_commands", | ||||
|                                  return_value=["command"]) | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|  | ||||
| @ -44,9 +44,9 @@ def test_run_check(args: argparse.Namespace, configuration: Configuration, mocke | ||||
|     """ | ||||
|     args = _default_args(args) | ||||
|     args.subcommand = ["clean"] | ||||
|     commands_mock = mocker.patch("ahriman.application.handlers.UnsafeCommands.get_unsafe_commands", | ||||
|     commands_mock = mocker.patch("ahriman.application.handlers.unsafe_commands.UnsafeCommands.get_unsafe_commands", | ||||
|                                  return_value=["command"]) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.UnsafeCommands.check_unsafe") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.unsafe_commands.UnsafeCommands.check_unsafe") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     UnsafeCommands.run(args, repository_id, configuration, report=False) | ||||
| @ -58,7 +58,7 @@ def test_check_unsafe(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     must check if command is unsafe | ||||
|     """ | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     UnsafeCommands.check_unsafe(["service-clean"], ["service-clean"], _parser()) | ||||
|     check_mock.assert_called_once_with(True, False) | ||||
|  | ||||
| @ -67,7 +67,7 @@ def test_check_unsafe_safe(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     must check if command is safe | ||||
|     """ | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     UnsafeCommands.check_unsafe(["package-status"], ["service-clean"], _parser()) | ||||
|     check_mock.assert_called_once_with(True, True) | ||||
|  | ||||
|  | ||||
| @ -5,7 +5,7 @@ from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.application import Application | ||||
| from ahriman.application.handlers import Update | ||||
| from ahriman.application.handlers.update import Update | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.package import Package | ||||
| @ -49,7 +49,7 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration: | ||||
|     result.add_updated(package_ahriman) | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     application_mock = mocker.patch("ahriman.application.application.Application.update", return_value=result) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     dependencies_mock = mocker.patch("ahriman.application.application.Application.with_dependencies", | ||||
|                                      return_value=[package_ahriman]) | ||||
|     updates_mock = mocker.patch("ahriman.application.application.Application.updates", return_value=[package_ahriman]) | ||||
| @ -81,7 +81,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat | ||||
|     args.dry_run = True | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.application.Application.updates", return_value=[]) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Update.run(args, repository_id, configuration, report=False) | ||||
| @ -101,7 +101,7 @@ def test_run_update_empty_exception(args: argparse.Namespace, package_ahriman: P | ||||
|     mocker.patch("ahriman.application.application.Application.with_dependencies", return_value=[package_ahriman]) | ||||
|     mocker.patch("ahriman.application.application.Application.print_updates") | ||||
|     mocker.patch("ahriman.application.application.Application.changes") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Update.run(args, repository_id, configuration, report=False) | ||||
| @ -117,7 +117,7 @@ def test_run_dry_run(args: argparse.Namespace, package_ahriman: Package, configu | ||||
|     args.dry_run = True | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     application_mock = mocker.patch("ahriman.application.application.Application.update") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     updates_mock = mocker.patch("ahriman.application.application.Application.updates", return_value=[package_ahriman]) | ||||
|     changes_mock = mocker.patch("ahriman.application.application.Application.changes") | ||||
|  | ||||
| @ -140,7 +140,7 @@ def test_run_no_changes(args: argparse.Namespace, configuration: Configuration, | ||||
|     args.changes = False | ||||
|     mocker.patch("ahriman.core.repository.Repository.load", return_value=repository) | ||||
|     mocker.patch("ahriman.application.application.Application.update") | ||||
|     mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     mocker.patch("ahriman.application.application.Application.updates") | ||||
|     changes_mock = mocker.patch("ahriman.application.application.Application.changes") | ||||
|  | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.handlers import Users | ||||
| from ahriman.application.handlers.users import Users | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.database import SQLite | ||||
| from ahriman.core.exceptions import PasswordError | ||||
| @ -42,7 +42,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, database: S | ||||
|                 packager_id=args.packager, key=args.key) | ||||
|     mocker.patch("ahriman.core.database.SQLite.load", return_value=database) | ||||
|     mocker.patch("ahriman.models.user.User.hash_password", return_value=user) | ||||
|     create_user_mock = mocker.patch("ahriman.application.handlers.Users.user_create", return_value=user) | ||||
|     create_user_mock = mocker.patch("ahriman.application.handlers.users.Users.user_create", return_value=user) | ||||
|     update_mock = mocker.patch("ahriman.core.database.SQLite.user_update") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -60,7 +60,7 @@ def test_run_empty_salt(args: argparse.Namespace, configuration: Configuration, | ||||
|     user = User(username=args.username, password=args.password, access=args.role, | ||||
|                 packager_id=args.packager, key=args.key) | ||||
|     mocker.patch("ahriman.models.user.User.hash_password", return_value=user) | ||||
|     create_user_mock = mocker.patch("ahriman.application.handlers.Users.user_create", return_value=user) | ||||
|     create_user_mock = mocker.patch("ahriman.application.handlers.users.Users.user_create", return_value=user) | ||||
|     update_mock = mocker.patch("ahriman.core.database.SQLite.user_update") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -80,7 +80,7 @@ def test_run_empty_salt_without_password(args: argparse.Namespace, configuration | ||||
|                 packager_id=args.packager, key=args.key) | ||||
|     mocker.patch("ahriman.core.database.SQLite.load", return_value=database) | ||||
|     mocker.patch("ahriman.models.user.User.hash_password", return_value=user) | ||||
|     create_user_mock = mocker.patch("ahriman.application.handlers.Users.user_create", return_value=user) | ||||
|     create_user_mock = mocker.patch("ahriman.application.handlers.users.Users.user_create", return_value=user) | ||||
|     update_mock = mocker.patch("ahriman.core.database.SQLite.user_update") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -97,7 +97,7 @@ def test_run_list(args: argparse.Namespace, configuration: Configuration, databa | ||||
|     args = _default_args(args) | ||||
|     args.action = Action.List | ||||
|     mocker.patch("ahriman.core.database.SQLite.load", return_value=database) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|     list_mock = mocker.patch("ahriman.core.database.SQLite.user_list", return_value=[user]) | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
| @ -116,7 +116,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat | ||||
|     args.exit_code = True | ||||
|     mocker.patch("ahriman.core.database.SQLite.load", return_value=database) | ||||
|     mocker.patch("ahriman.core.database.SQLite.user_list", return_value=[]) | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.Handler.check_status") | ||||
|     check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_status") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     Users.run(args, repository_id, configuration, report=False) | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Validate | ||||
| from ahriman.application.handlers.validate import Validate | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.configuration.schema import CONFIGURATION_SCHEMA | ||||
| from ahriman.core.configuration.validator import Validator | ||||
|  | ||||
| @ -4,7 +4,7 @@ import pytest | ||||
| from pytest_mock import MockerFixture | ||||
| from unittest.mock import call as MockCall | ||||
|  | ||||
| from ahriman.application.handlers import Versions | ||||
| from ahriman.application.handlers.versions import Versions | ||||
| from ahriman.core.configuration import Configuration | ||||
|  | ||||
|  | ||||
| @ -12,7 +12,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc | ||||
|     """ | ||||
|     must run command | ||||
|     """ | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.Versions.package_dependencies") | ||||
|     application_mock = mocker.patch("ahriman.application.handlers.versions.Versions.package_dependencies") | ||||
|     print_mock = mocker.patch("ahriman.core.formatters.Printer.print") | ||||
|  | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|  | ||||
| @ -3,7 +3,7 @@ import pytest | ||||
|  | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application.handlers import Web | ||||
| from ahriman.application.handlers.web import Web | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.repository import Repository | ||||
| from ahriman.models.log_handler import LogHandler | ||||
| @ -43,7 +43,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") | ||||
|     _, repository_id = configuration.check_loaded() | ||||
|     mocker.patch("ahriman.application.handlers.Handler.repositories_extract", return_value=[repository_id]) | ||||
|     mocker.patch("ahriman.application.handlers.handler.Handler.repositories_extract", return_value=[repository_id]) | ||||
|  | ||||
|     Web.run(args, repository_id, configuration, report=False) | ||||
|     setup_mock.assert_called_once_with(configuration, pytest.helpers.anyvar(int), [repository_id]) | ||||
|  | ||||
| @ -5,7 +5,7 @@ from pathlib import Path | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.application import ahriman | ||||
| from ahriman.application.handlers import Handler | ||||
| from ahriman.application.handlers.handler import Handler | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.models.action import Action | ||||
| from ahriman.models.build_status import BuildStatusEnum | ||||
|  | ||||
							
								
								
									
										25
									
								
								tests/ahriman/core/test_module_loader.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								tests/ahriman/core/test_module_loader.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| import ahriman.web.views | ||||
|  | ||||
| from pathlib import Path | ||||
|  | ||||
| from ahriman.core.module_loader import _modules, implementations | ||||
| from ahriman.web.views.base import BaseView | ||||
|  | ||||
|  | ||||
| def test_implementations() -> None: | ||||
|     """ | ||||
|     must load implementations from the package | ||||
|     """ | ||||
|     routes = list(implementations(ahriman.web.views, BaseView)) | ||||
|     assert routes | ||||
|     assert all(isinstance(view, type) for view in routes) | ||||
|     assert all(issubclass(view, BaseView) for view in routes) | ||||
|  | ||||
|  | ||||
| def test_modules() -> None: | ||||
|     """ | ||||
|     must load modules | ||||
|     """ | ||||
|     modules = list(_modules(Path(__file__).parent.parent, "ahriman.web.views")) | ||||
|     assert modules | ||||
|     assert all(not module.ispkg for module in modules) | ||||
| @ -1,14 +1,9 @@ | ||||
| import pytest | ||||
|  | ||||
| from aiohttp.web import Application | ||||
| from importlib.machinery import ModuleSpec | ||||
| from pathlib import Path | ||||
| from pytest_mock import MockerFixture | ||||
| from types import ModuleType | ||||
|  | ||||
| from ahriman.core.configuration import Configuration | ||||
| from ahriman.core.utils import walk | ||||
| from ahriman.web.routes import _dynamic_routes, _module, _modules, setup_routes | ||||
| from ahriman.web.routes import _dynamic_routes, setup_routes | ||||
|  | ||||
|  | ||||
| def test_dynamic_routes(resource_path_root: Path, configuration: Configuration) -> None: | ||||
| @ -22,54 +17,11 @@ def test_dynamic_routes(resource_path_root: Path, configuration: Configuration) | ||||
|         if file.suffix == ".py" and file.name not in ("__init__.py", "base.py", "status_view_guard.py") | ||||
|     ] | ||||
|  | ||||
|     routes = _dynamic_routes(views_root, configuration) | ||||
|     routes = _dynamic_routes(configuration) | ||||
|     assert all(isinstance(view, type) for view in routes.values()) | ||||
|     assert len(set(routes.values())) == len(expected_views) | ||||
|  | ||||
|  | ||||
| def test_module(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     must load module | ||||
|     """ | ||||
|     exec_mock = mocker.patch("importlib.machinery.SourceFileLoader.exec_module") | ||||
|     module_info = next(_modules(Path(__file__).parent)) | ||||
|  | ||||
|     module = _module(module_info) | ||||
|     assert isinstance(module, ModuleType) | ||||
|     exec_mock.assert_called_once_with(pytest.helpers.anyvar(int)) | ||||
|  | ||||
|  | ||||
| def test_module_no_spec(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     must raise ValueError if spec is not available | ||||
|     """ | ||||
|     mocker.patch("importlib.machinery.FileFinder.find_spec", return_value=None) | ||||
|     module_info = next(_modules(Path(__file__).parent)) | ||||
|  | ||||
|     with pytest.raises(ValueError): | ||||
|         _module(module_info) | ||||
|  | ||||
|  | ||||
| def test_module_no_loader(mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     must raise ValueError if loader is not available | ||||
|     """ | ||||
|     mocker.patch("importlib.machinery.FileFinder.find_spec", return_value=ModuleSpec("name", None)) | ||||
|     module_info = next(_modules(Path(__file__).parent)) | ||||
|  | ||||
|     with pytest.raises(ValueError): | ||||
|         _module(module_info) | ||||
|  | ||||
|  | ||||
| def test_modules() -> None: | ||||
|     """ | ||||
|     must load modules | ||||
|     """ | ||||
|     modules = list(_modules(Path(__file__).parent.parent)) | ||||
|     assert modules | ||||
|     assert all(not module.ispkg for module in modules) | ||||
|  | ||||
|  | ||||
| def test_setup_routes(application: Application, configuration: Configuration) -> None: | ||||
|     """ | ||||
|     must generate non-empty list of routes | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| import pytest | ||||
|  | ||||
| from aiohttp.test_utils import TestClient | ||||
| from pytest_mock import MockerFixture | ||||
|  | ||||
| from ahriman.models.user_access import UserAccess | ||||
| from ahriman.web.views.static import StaticView | ||||
| @ -31,12 +32,12 @@ async def test_get(client_with_auth: TestClient) -> None: | ||||
|     assert response.headers["Location"] == "/static/favicon.ico" | ||||
|  | ||||
|  | ||||
| async def test_get_not_found(client_with_auth: TestClient) -> None: | ||||
| async def test_get_not_found(client_with_auth: TestClient, mocker: MockerFixture) -> None: | ||||
|     """ | ||||
|     must raise not found if path is invalid | ||||
|     """ | ||||
|     for route in client_with_auth.app.router.routes(): | ||||
|         if hasattr(route.handler, "ROUTES"): | ||||
|             route.handler.ROUTES = [] | ||||
|     print([route.handler for route in client_with_auth.app.router.routes()]) | ||||
|     static_route = next(route for route in client_with_auth.app.router.routes() if route.handler == StaticView) | ||||
|     mocker.patch.object(static_route.handler, "ROUTES", []) | ||||
|     response = await client_with_auth.get("/favicon.ico", allow_redirects=False) | ||||
|     assert response.status == 404 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user