mirror of
				https://github.com/arcan1s/ahriman.git
				synced 2025-11-04 07:43:42 +00:00 
			
		
		
		
	packagers support (#100)
This commit is contained in:
		@ -72,16 +72,16 @@ def test_with_dependencies(application: Application, package_ahriman: Package, p
 | 
			
		||||
        "python-installer": create_package_mock("python-installer"),
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    package_mock = mocker.patch("ahriman.models.package.Package.from_aur", side_effect=lambda p, _: packages[p])
 | 
			
		||||
    package_mock = mocker.patch("ahriman.models.package.Package.from_aur", side_effect=lambda *args: packages[args[0]])
 | 
			
		||||
    packages_mock = mocker.patch("ahriman.application.application.Application._known_packages",
 | 
			
		||||
                                 return_value=["devtools", "python-build", "python-pytest"])
 | 
			
		||||
                                 return_value={"devtools", "python-build", "python-pytest"})
 | 
			
		||||
 | 
			
		||||
    result = application.with_dependencies([package_ahriman], process_dependencies=True)
 | 
			
		||||
    assert {package.base: package for package in result} == packages
 | 
			
		||||
    package_mock.assert_has_calls([
 | 
			
		||||
        MockCall(package_python_schedule.base, application.repository.pacman),
 | 
			
		||||
        MockCall("python", application.repository.pacman),
 | 
			
		||||
        MockCall("python-installer", application.repository.pacman),
 | 
			
		||||
        MockCall(package_python_schedule.base, application.repository.pacman, package_ahriman.packager),
 | 
			
		||||
        MockCall("python", application.repository.pacman, package_ahriman.packager),
 | 
			
		||||
        MockCall("python-installer", application.repository.pacman, package_ahriman.packager),
 | 
			
		||||
    ], any_order=True)
 | 
			
		||||
    packages_mock.assert_called_once_with()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -43,7 +43,7 @@ def test_add_aur(application_packages: ApplicationPackages, package_ahriman: Pac
 | 
			
		||||
    build_queue_mock = mocker.patch("ahriman.core.database.SQLite.build_queue_insert")
 | 
			
		||||
    update_remote_mock = mocker.patch("ahriman.core.database.SQLite.remote_update")
 | 
			
		||||
 | 
			
		||||
    application_packages._add_aur(package_ahriman.base)
 | 
			
		||||
    application_packages._add_aur(package_ahriman.base, "packager")
 | 
			
		||||
    build_queue_mock.assert_called_once_with(package_ahriman)
 | 
			
		||||
    update_remote_mock.assert_called_once_with(package_ahriman)
 | 
			
		||||
 | 
			
		||||
@ -83,7 +83,7 @@ def test_add_local(application_packages: ApplicationPackages, package_ahriman: P
 | 
			
		||||
    copytree_mock = mocker.patch("shutil.copytree")
 | 
			
		||||
    build_queue_mock = mocker.patch("ahriman.core.database.SQLite.build_queue_insert")
 | 
			
		||||
 | 
			
		||||
    application_packages._add_local(package_ahriman.base)
 | 
			
		||||
    application_packages._add_local(package_ahriman.base, "packager")
 | 
			
		||||
    is_dir_mock.assert_called_once_with()
 | 
			
		||||
    copytree_mock.assert_called_once_with(
 | 
			
		||||
        Path(package_ahriman.base), application_packages.repository.paths.cache_for(package_ahriman.base))
 | 
			
		||||
@ -103,7 +103,7 @@ def test_add_local_cache(application_packages: ApplicationPackages, package_ahri
 | 
			
		||||
    copytree_mock = mocker.patch("shutil.copytree")
 | 
			
		||||
    build_queue_mock = mocker.patch("ahriman.core.database.SQLite.build_queue_insert")
 | 
			
		||||
 | 
			
		||||
    application_packages._add_local(package_ahriman.base)
 | 
			
		||||
    application_packages._add_local(package_ahriman.base, "packager")
 | 
			
		||||
    copytree_mock.assert_not_called()
 | 
			
		||||
    init_mock.assert_not_called()
 | 
			
		||||
    build_queue_mock.assert_called_once_with(package_ahriman)
 | 
			
		||||
@ -115,7 +115,7 @@ def test_add_local_missing(application_packages: ApplicationPackages, mocker: Mo
 | 
			
		||||
    """
 | 
			
		||||
    mocker.patch("pathlib.Path.is_dir", return_value=False)
 | 
			
		||||
    with pytest.raises(UnknownPackageError):
 | 
			
		||||
        application_packages._add_local("package")
 | 
			
		||||
        application_packages._add_local("package", "packager")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_add_remote(application_packages: ApplicationPackages, package_description_ahriman: PackageDescription,
 | 
			
		||||
@ -153,7 +153,7 @@ def test_add_repository(application_packages: ApplicationPackages, package_ahrim
 | 
			
		||||
    build_queue_mock = mocker.patch("ahriman.core.database.SQLite.build_queue_insert")
 | 
			
		||||
    update_remote_mock = mocker.patch("ahriman.core.database.SQLite.remote_update")
 | 
			
		||||
 | 
			
		||||
    application_packages._add_repository(package_ahriman.base)
 | 
			
		||||
    application_packages._add_repository(package_ahriman.base, "packager")
 | 
			
		||||
    build_queue_mock.assert_called_once_with(package_ahriman)
 | 
			
		||||
    update_remote_mock.assert_called_once_with(package_ahriman)
 | 
			
		||||
 | 
			
		||||
@ -165,8 +165,8 @@ def test_add_add_archive(application_packages: ApplicationPackages, package_ahri
 | 
			
		||||
    """
 | 
			
		||||
    add_mock = mocker.patch("ahriman.application.application.application_packages.ApplicationPackages._add_archive")
 | 
			
		||||
 | 
			
		||||
    application_packages.add([package_ahriman.base], PackageSource.Archive)
 | 
			
		||||
    add_mock.assert_called_once_with(package_ahriman.base)
 | 
			
		||||
    application_packages.add([package_ahriman.base], PackageSource.Archive, "packager")
 | 
			
		||||
    add_mock.assert_called_once_with(package_ahriman.base, "packager")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_add_add_aur(application_packages: ApplicationPackages, package_ahriman: Package,
 | 
			
		||||
@ -176,8 +176,8 @@ def test_add_add_aur(application_packages: ApplicationPackages, package_ahriman:
 | 
			
		||||
    """
 | 
			
		||||
    add_mock = mocker.patch("ahriman.application.application.application_packages.ApplicationPackages._add_aur")
 | 
			
		||||
 | 
			
		||||
    application_packages.add([package_ahriman.base], PackageSource.AUR)
 | 
			
		||||
    add_mock.assert_called_once_with(package_ahriman.base)
 | 
			
		||||
    application_packages.add([package_ahriman.base], PackageSource.AUR, "packager")
 | 
			
		||||
    add_mock.assert_called_once_with(package_ahriman.base, "packager")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_add_add_directory(application_packages: ApplicationPackages, package_ahriman: Package,
 | 
			
		||||
@ -187,8 +187,8 @@ def test_add_add_directory(application_packages: ApplicationPackages, package_ah
 | 
			
		||||
    """
 | 
			
		||||
    add_mock = mocker.patch("ahriman.application.application.application_packages.ApplicationPackages._add_directory")
 | 
			
		||||
 | 
			
		||||
    application_packages.add([package_ahriman.base], PackageSource.Directory)
 | 
			
		||||
    add_mock.assert_called_once_with(package_ahriman.base)
 | 
			
		||||
    application_packages.add([package_ahriman.base], PackageSource.Directory, "packager")
 | 
			
		||||
    add_mock.assert_called_once_with(package_ahriman.base, "packager")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_add_add_local(application_packages: ApplicationPackages, package_ahriman: Package,
 | 
			
		||||
@ -198,8 +198,8 @@ def test_add_add_local(application_packages: ApplicationPackages, package_ahrima
 | 
			
		||||
    """
 | 
			
		||||
    add_mock = mocker.patch("ahriman.application.application.application_packages.ApplicationPackages._add_local")
 | 
			
		||||
 | 
			
		||||
    application_packages.add([package_ahriman.base], PackageSource.Local)
 | 
			
		||||
    add_mock.assert_called_once_with(package_ahriman.base)
 | 
			
		||||
    application_packages.add([package_ahriman.base], PackageSource.Local, "packager")
 | 
			
		||||
    add_mock.assert_called_once_with(package_ahriman.base, "packager")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_add_add_remote(application_packages: ApplicationPackages, package_description_ahriman: PackageDescription,
 | 
			
		||||
@ -210,8 +210,8 @@ def test_add_add_remote(application_packages: ApplicationPackages, package_descr
 | 
			
		||||
    add_mock = mocker.patch("ahriman.application.application.application_packages.ApplicationPackages._add_remote")
 | 
			
		||||
    url = f"https://host/{package_description_ahriman.filename}"
 | 
			
		||||
 | 
			
		||||
    application_packages.add([url], PackageSource.Remote)
 | 
			
		||||
    add_mock.assert_called_once_with(url)
 | 
			
		||||
    application_packages.add([url], PackageSource.Remote, "packager")
 | 
			
		||||
    add_mock.assert_called_once_with(url, "packager")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_on_result(application_packages: ApplicationPackages) -> None:
 | 
			
		||||
 | 
			
		||||
@ -76,9 +76,9 @@ def test_sign(application_repository: ApplicationRepository, package_ahriman: Pa
 | 
			
		||||
 | 
			
		||||
    application_repository.sign([])
 | 
			
		||||
    sign_package_mock.assert_has_calls([
 | 
			
		||||
        MockCall(pytest.helpers.anyvar(int), package_ahriman.base),
 | 
			
		||||
        MockCall(pytest.helpers.anyvar(int), package_python_schedule.base),
 | 
			
		||||
        MockCall(pytest.helpers.anyvar(int), package_python_schedule.base),
 | 
			
		||||
        MockCall(pytest.helpers.anyvar(int), None),
 | 
			
		||||
        MockCall(pytest.helpers.anyvar(int), None),
 | 
			
		||||
        MockCall(pytest.helpers.anyvar(int), None),
 | 
			
		||||
    ])
 | 
			
		||||
    sign_repository_mock.assert_called_once_with(application_repository.repository.repo.repo_path)
 | 
			
		||||
    on_result_mock.assert_called_once_with(Result())
 | 
			
		||||
@ -111,7 +111,7 @@ def test_sign_specific(application_repository: ApplicationRepository, package_ah
 | 
			
		||||
 | 
			
		||||
    filename = package_ahriman.packages[package_ahriman.base].filepath
 | 
			
		||||
    application_repository.sign([package_ahriman.base])
 | 
			
		||||
    sign_package_mock.assert_called_once_with(filename, package_ahriman.base)
 | 
			
		||||
    sign_package_mock.assert_called_once_with(filename, None)
 | 
			
		||||
    sign_repository_mock.assert_called_once_with(application_repository.repository.repo.repo_path)
 | 
			
		||||
    on_result_mock.assert_called_once_with(Result())
 | 
			
		||||
 | 
			
		||||
@ -170,9 +170,9 @@ def test_update(application_repository: ApplicationRepository, package_ahriman:
 | 
			
		||||
    on_result_mock = mocker.patch(
 | 
			
		||||
        "ahriman.application.application.application_repository.ApplicationRepository.on_result")
 | 
			
		||||
 | 
			
		||||
    application_repository.update([package_ahriman])
 | 
			
		||||
    build_mock.assert_called_once_with([package_ahriman])
 | 
			
		||||
    update_mock.assert_has_calls([MockCall(paths), MockCall(paths)])
 | 
			
		||||
    application_repository.update([package_ahriman], "username")
 | 
			
		||||
    build_mock.assert_called_once_with([package_ahriman], "username")
 | 
			
		||||
    update_mock.assert_has_calls([MockCall(paths, "username"), MockCall(paths, "username")])
 | 
			
		||||
    on_result_mock.assert_has_calls([MockCall(result), MockCall(result)])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,7 @@ from ahriman.core.configuration import Configuration
 | 
			
		||||
from ahriman.core.repository import Repository
 | 
			
		||||
from ahriman.models.package import Package
 | 
			
		||||
from ahriman.models.package_source import PackageSource
 | 
			
		||||
from ahriman.models.packagers import Packagers
 | 
			
		||||
from ahriman.models.result import Result
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -27,6 +28,7 @@ def _default_args(args: argparse.Namespace) -> argparse.Namespace:
 | 
			
		||||
    args.refresh = 0
 | 
			
		||||
    args.source = PackageSource.Auto
 | 
			
		||||
    args.dependencies = True
 | 
			
		||||
    args.username = "username"
 | 
			
		||||
    return args
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -42,7 +44,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository:
 | 
			
		||||
    on_start_mock = mocker.patch("ahriman.application.application.Application.on_start")
 | 
			
		||||
 | 
			
		||||
    Add.run(args, "x86_64", configuration, report=False, unsafe=False)
 | 
			
		||||
    application_mock.assert_called_once_with(args.package, args.source)
 | 
			
		||||
    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 +69,8 @@ def test_run_with_updates(args: argparse.Namespace, configuration: Configuration
 | 
			
		||||
    Add.run(args, "x86_64", configuration, report=False, unsafe=False)
 | 
			
		||||
    updates_mock.assert_called_once_with(args.package, aur=False, local=False, manual=True, vcs=False,
 | 
			
		||||
                                         log_fn=pytest.helpers.anyvar(int))
 | 
			
		||||
    application_mock.assert_called_once_with([package_ahriman])
 | 
			
		||||
    application_mock.assert_called_once_with([package_ahriman],
 | 
			
		||||
                                             Packagers(args.username, {package_ahriman.base: "packager"}))
 | 
			
		||||
    dependencies_mock.assert_called_once_with([package_ahriman], process_dependencies=args.dependencies)
 | 
			
		||||
    check_mock.assert_called_once_with(False, False)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -109,7 +109,7 @@ def test_patch_create_from_diff(package_ahriman: Package, mocker: MockerFixture)
 | 
			
		||||
    sources_mock = mocker.patch("ahriman.core.build_tools.sources.Sources.patch_create", return_value=patch.value)
 | 
			
		||||
 | 
			
		||||
    assert Patch.patch_create_from_diff(path, "x86_64", ["*.diff"]) == (package_ahriman.base, patch)
 | 
			
		||||
    package_mock.assert_called_once_with(path, "x86_64")
 | 
			
		||||
    package_mock.assert_called_once_with(path, "x86_64", None)
 | 
			
		||||
    sources_mock.assert_called_once_with(path, "*.diff")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,7 @@ def _default_args(args: argparse.Namespace) -> argparse.Namespace:
 | 
			
		||||
    args.from_database = False
 | 
			
		||||
    args.exit_code = False
 | 
			
		||||
    args.status = None
 | 
			
		||||
    args.username = "username"
 | 
			
		||||
    return args
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -50,7 +51,7 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration:
 | 
			
		||||
    Rebuild.run(args, "x86_64", configuration, report=False, unsafe=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])
 | 
			
		||||
    application_mock.assert_called_once_with([package_ahriman], args.username)
 | 
			
		||||
    check_mock.assert_has_calls([MockCall(False, False), MockCall(False, False)])
 | 
			
		||||
    on_start_mock.assert_called_once_with()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository:
 | 
			
		||||
    check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty")
 | 
			
		||||
 | 
			
		||||
    ServiceUpdates.run(args, "x86_64", configuration, report=False, unsafe=False)
 | 
			
		||||
    package_mock.assert_called_once_with(package_ahriman.base, repository.pacman)
 | 
			
		||||
    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)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,7 @@ def _default_args(args: argparse.Namespace) -> argparse.Namespace:
 | 
			
		||||
        argparse.Namespace: generated arguments for these test cases
 | 
			
		||||
    """
 | 
			
		||||
    args.parser = _parser
 | 
			
		||||
    args.command = None
 | 
			
		||||
    args.command = []
 | 
			
		||||
    return args
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -42,14 +42,14 @@ def test_run_check(args: argparse.Namespace, configuration: Configuration, mocke
 | 
			
		||||
    must run command and check if command is unsafe
 | 
			
		||||
    """
 | 
			
		||||
    args = _default_args(args)
 | 
			
		||||
    args.command = "clean"
 | 
			
		||||
    args.command = ["clean"]
 | 
			
		||||
    commands_mock = mocker.patch("ahriman.application.handlers.UnsafeCommands.get_unsafe_commands",
 | 
			
		||||
                                 return_value=["command"])
 | 
			
		||||
    check_mock = mocker.patch("ahriman.application.handlers.UnsafeCommands.check_unsafe")
 | 
			
		||||
 | 
			
		||||
    UnsafeCommands.run(args, "x86_64", configuration, report=False, unsafe=False)
 | 
			
		||||
    commands_mock.assert_called_once_with(pytest.helpers.anyvar(int))
 | 
			
		||||
    check_mock.assert_called_once_with("clean", ["command"], pytest.helpers.anyvar(int))
 | 
			
		||||
    check_mock.assert_called_once_with(["clean"], ["command"], pytest.helpers.anyvar(int))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_check_unsafe(mocker: MockerFixture) -> None:
 | 
			
		||||
@ -57,7 +57,7 @@ def test_check_unsafe(mocker: MockerFixture) -> None:
 | 
			
		||||
    must check if command is unsafe
 | 
			
		||||
    """
 | 
			
		||||
    check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty")
 | 
			
		||||
    UnsafeCommands.check_unsafe("service-clean", ["service-clean"], _parser())
 | 
			
		||||
    UnsafeCommands.check_unsafe(["service-clean"], ["service-clean"], _parser())
 | 
			
		||||
    check_mock.assert_called_once_with(True, True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -66,7 +66,7 @@ def test_check_unsafe_safe(mocker: MockerFixture) -> None:
 | 
			
		||||
    must check if command is safe
 | 
			
		||||
    """
 | 
			
		||||
    check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty")
 | 
			
		||||
    UnsafeCommands.check_unsafe("package-status", ["service-clean"], _parser())
 | 
			
		||||
    UnsafeCommands.check_unsafe(["package-status"], ["service-clean"], _parser())
 | 
			
		||||
    check_mock.assert_called_once_with(True, False)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -9,6 +9,7 @@ from ahriman.application.handlers import Update
 | 
			
		||||
from ahriman.core.configuration import Configuration
 | 
			
		||||
from ahriman.core.repository import Repository
 | 
			
		||||
from ahriman.models.package import Package
 | 
			
		||||
from ahriman.models.packagers import Packagers
 | 
			
		||||
from ahriman.models.result import Result
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -31,6 +32,7 @@ def _default_args(args: argparse.Namespace) -> argparse.Namespace:
 | 
			
		||||
    args.manual = True
 | 
			
		||||
    args.vcs = True
 | 
			
		||||
    args.refresh = 0
 | 
			
		||||
    args.username = "username"
 | 
			
		||||
    return args
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -51,7 +53,8 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration:
 | 
			
		||||
    on_start_mock = mocker.patch("ahriman.application.application.Application.on_start")
 | 
			
		||||
 | 
			
		||||
    Update.run(args, "x86_64", configuration, report=False, unsafe=False)
 | 
			
		||||
    application_mock.assert_called_once_with([package_ahriman])
 | 
			
		||||
    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,
 | 
			
		||||
                                         log_fn=pytest.helpers.anyvar(int))
 | 
			
		||||
    dependencies_mock.assert_called_once_with([package_ahriman], process_dependencies=args.dependencies)
 | 
			
		||||
 | 
			
		||||
@ -27,6 +27,8 @@ def _default_args(args: argparse.Namespace) -> argparse.Namespace:
 | 
			
		||||
    args.username = "user"
 | 
			
		||||
    args.action = Action.Update
 | 
			
		||||
    args.exit_code = False
 | 
			
		||||
    args.key = "key"
 | 
			
		||||
    args.packager = "packager"
 | 
			
		||||
    args.password = "pa55w0rd"
 | 
			
		||||
    args.role = UserAccess.Reporter
 | 
			
		||||
    args.secure = False
 | 
			
		||||
@ -38,7 +40,8 @@ def test_run(args: argparse.Namespace, configuration: Configuration, database: S
 | 
			
		||||
    must run command
 | 
			
		||||
    """
 | 
			
		||||
    args = _default_args(args)
 | 
			
		||||
    user = User(username=args.username, password=args.password, access=args.role)
 | 
			
		||||
    user = User(username=args.username, password=args.password, access=args.role,
 | 
			
		||||
                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)
 | 
			
		||||
    get_auth_configuration_mock = mocker.patch("ahriman.application.handlers.Users.configuration_get")
 | 
			
		||||
@ -61,7 +64,8 @@ def test_run_empty_salt(args: argparse.Namespace, configuration: Configuration,
 | 
			
		||||
    must create configuration if salt was not set
 | 
			
		||||
    """
 | 
			
		||||
    args = _default_args(args)
 | 
			
		||||
    user = User(username=args.username, password=args.password, access=args.role)
 | 
			
		||||
    user = User(username=args.username, password=args.password, access=args.role,
 | 
			
		||||
                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)
 | 
			
		||||
    get_auth_configuration_mock = mocker.patch("ahriman.application.handlers.Users.configuration_get")
 | 
			
		||||
 | 
			
		||||
@ -351,13 +351,14 @@ def test_subparsers_repo_backup_architecture(parser: argparse.ArgumentParser) ->
 | 
			
		||||
 | 
			
		||||
def test_subparsers_repo_check(parser: argparse.ArgumentParser) -> None:
 | 
			
		||||
    """
 | 
			
		||||
    repo-check command must imply dependencies, dry-run, aur and manual
 | 
			
		||||
    repo-check command must imply dependencies, dry-run, aur, manual and username
 | 
			
		||||
    """
 | 
			
		||||
    args = parser.parse_args(["repo-check"])
 | 
			
		||||
    assert not args.dependencies
 | 
			
		||||
    assert args.dry_run
 | 
			
		||||
    assert args.aur
 | 
			
		||||
    assert not args.manual
 | 
			
		||||
    assert args.username is None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_subparsers_repo_check_architecture(parser: argparse.ArgumentParser) -> None:
 | 
			
		||||
@ -757,14 +758,13 @@ def test_subparsers_user_add_option_role(parser: argparse.ArgumentParser) -> Non
 | 
			
		||||
 | 
			
		||||
def test_subparsers_user_list(parser: argparse.ArgumentParser) -> None:
 | 
			
		||||
    """
 | 
			
		||||
    user-list command must imply action, architecture, lock, report, password, quiet and unsafe
 | 
			
		||||
    user-list command must imply action, architecture, lock, report, quiet and unsafe
 | 
			
		||||
    """
 | 
			
		||||
    args = parser.parse_args(["user-list"])
 | 
			
		||||
    assert args.action == Action.List
 | 
			
		||||
    assert args.architecture == [""]
 | 
			
		||||
    assert args.lock is None
 | 
			
		||||
    assert not args.report
 | 
			
		||||
    assert args.password is not None
 | 
			
		||||
    assert args.quiet
 | 
			
		||||
    assert args.unsafe
 | 
			
		||||
 | 
			
		||||
@ -787,14 +787,13 @@ def test_subparsers_user_list_option_role(parser: argparse.ArgumentParser) -> No
 | 
			
		||||
 | 
			
		||||
def test_subparsers_user_remove(parser: argparse.ArgumentParser) -> None:
 | 
			
		||||
    """
 | 
			
		||||
    user-remove command must imply action, architecture, lock, report, password and quiet
 | 
			
		||||
    user-remove command must imply action, architecture, lock, report and quiet
 | 
			
		||||
    """
 | 
			
		||||
    args = parser.parse_args(["user-remove", "username"])
 | 
			
		||||
    assert args.action == Action.Remove
 | 
			
		||||
    assert args.architecture == [""]
 | 
			
		||||
    assert args.lock is None
 | 
			
		||||
    assert not args.report
 | 
			
		||||
    assert args.password is not None
 | 
			
		||||
    assert args.quiet
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user