mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-07-23 18:59:56 +00:00
rename classes in order to make documentation reference work
This commit is contained in:
@ -4,12 +4,12 @@ import pytest
|
||||
from pathlib import Path
|
||||
from pytest_mock import MockerFixture
|
||||
|
||||
from ahriman.application.handlers import User
|
||||
from ahriman.application.handlers import Users
|
||||
from ahriman.core.configuration import Configuration
|
||||
from ahriman.core.database.sqlite import SQLite
|
||||
from ahriman.core.exceptions import InitializeException
|
||||
from ahriman.models.action import Action
|
||||
from ahriman.models.user import User as MUser
|
||||
from ahriman.models.user import User
|
||||
from ahriman.models.user_access import UserAccess
|
||||
|
||||
|
||||
@ -38,16 +38,16 @@ def test_run(args: argparse.Namespace, configuration: Configuration, database: S
|
||||
must run command
|
||||
"""
|
||||
args = _default_args(args)
|
||||
user = MUser(args.username, args.password, args.role)
|
||||
user = User(args.username, args.password, args.role)
|
||||
mocker.patch("ahriman.core.database.sqlite.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.User.configuration_get")
|
||||
create_configuration_mock = mocker.patch("ahriman.application.handlers.User.configuration_create")
|
||||
create_user_mock = mocker.patch("ahriman.application.handlers.User.user_create", return_value=user)
|
||||
get_salt_mock = mocker.patch("ahriman.application.handlers.User.get_salt", return_value="salt")
|
||||
get_auth_configuration_mock = mocker.patch("ahriman.application.handlers.Users.configuration_get")
|
||||
create_configuration_mock = mocker.patch("ahriman.application.handlers.Users.configuration_create")
|
||||
create_user_mock = mocker.patch("ahriman.application.handlers.Users.user_create", return_value=user)
|
||||
get_salt_mock = mocker.patch("ahriman.application.handlers.Users.get_salt", return_value="salt")
|
||||
update_mock = mocker.patch("ahriman.core.database.sqlite.SQLite.user_update")
|
||||
|
||||
User.run(args, "x86_64", configuration, True, False)
|
||||
Users.run(args, "x86_64", configuration, True, False)
|
||||
get_auth_configuration_mock.assert_called_once_with(configuration.include)
|
||||
create_configuration_mock.assert_called_once_with(pytest.helpers.anyvar(int), pytest.helpers.anyvar(int),
|
||||
pytest.helpers.anyvar(int), args.as_service, args.secure)
|
||||
@ -67,7 +67,7 @@ def test_run_list(args: argparse.Namespace, configuration: Configuration, databa
|
||||
check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_if_empty")
|
||||
list_mock = mocker.patch("ahriman.core.database.sqlite.SQLite.user_list", return_value=[user])
|
||||
|
||||
User.run(args, "x86_64", configuration, True, False)
|
||||
Users.run(args, "x86_64", configuration, True, False)
|
||||
list_mock.assert_called_once_with("user", args.role)
|
||||
check_mock.assert_called_once_with(False, False)
|
||||
|
||||
@ -84,7 +84,7 @@ def test_run_empty_exception(args: argparse.Namespace, configuration: Configurat
|
||||
mocker.patch("ahriman.core.database.sqlite.SQLite.user_list", return_value=[])
|
||||
check_mock = mocker.patch("ahriman.application.handlers.handler.Handler.check_if_empty")
|
||||
|
||||
User.run(args, "x86_64", configuration, True, False)
|
||||
Users.run(args, "x86_64", configuration, True, False)
|
||||
check_mock.assert_called_once_with(True, True)
|
||||
|
||||
|
||||
@ -98,36 +98,36 @@ def test_run_remove(args: argparse.Namespace, configuration: Configuration, data
|
||||
mocker.patch("ahriman.core.database.sqlite.SQLite.load", return_value=database)
|
||||
remove_mock = mocker.patch("ahriman.core.database.sqlite.SQLite.user_remove")
|
||||
|
||||
User.run(args, "x86_64", configuration, True, False)
|
||||
Users.run(args, "x86_64", configuration, True, False)
|
||||
remove_mock.assert_called_once_with(args.username)
|
||||
|
||||
|
||||
def test_configuration_create(configuration: Configuration, user: MUser, mocker: MockerFixture) -> None:
|
||||
def test_configuration_create(configuration: Configuration, user: User, mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must correctly create configuration file
|
||||
"""
|
||||
mocker.patch("pathlib.Path.open")
|
||||
set_mock = mocker.patch("ahriman.core.configuration.Configuration.set_option")
|
||||
write_mock = mocker.patch("ahriman.application.handlers.User.configuration_write")
|
||||
write_mock = mocker.patch("ahriman.application.handlers.Users.configuration_write")
|
||||
|
||||
User.configuration_create(configuration, user, "salt", False, False)
|
||||
Users.configuration_create(configuration, user, "salt", False, False)
|
||||
set_mock.assert_called_once_with("auth", "salt", pytest.helpers.anyvar(int))
|
||||
write_mock.assert_called_once_with(configuration, False)
|
||||
|
||||
|
||||
def test_configuration_create_with_plain_password(
|
||||
configuration: Configuration,
|
||||
user: MUser,
|
||||
user: User,
|
||||
mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must set plain text password and user for the service
|
||||
"""
|
||||
mocker.patch("pathlib.Path.open")
|
||||
|
||||
User.configuration_create(configuration, user, "salt", True, False)
|
||||
Users.configuration_create(configuration, user, "salt", True, False)
|
||||
|
||||
generated = MUser.from_option(user.username, user.password).hash_password("salt")
|
||||
service = MUser.from_option(configuration.get("web", "username"), configuration.get("web", "password"))
|
||||
generated = User.from_option(user.username, user.password).hash_password("salt")
|
||||
service = User.from_option(configuration.get("web", "username"), configuration.get("web", "password"))
|
||||
assert generated.username == service.username
|
||||
assert generated.check_credentials(service.password, configuration.get("auth", "salt"))
|
||||
|
||||
@ -140,7 +140,7 @@ def test_configuration_get(mocker: MockerFixture) -> None:
|
||||
mocker.patch("pathlib.Path.is_file", return_value=True)
|
||||
read_mock = mocker.patch("ahriman.core.configuration.Configuration.read")
|
||||
|
||||
assert User.configuration_get(Path("path"))
|
||||
assert Users.configuration_get(Path("path"))
|
||||
read_mock.assert_called_once_with(Path("path") / "auth.ini")
|
||||
|
||||
|
||||
@ -152,7 +152,7 @@ def test_configuration_write(configuration: Configuration, mocker: MockerFixture
|
||||
write_mock = mocker.patch("ahriman.core.configuration.Configuration.write")
|
||||
chmod_mock = mocker.patch("pathlib.Path.chmod")
|
||||
|
||||
User.configuration_write(configuration, secure=True)
|
||||
Users.configuration_write(configuration, secure=True)
|
||||
write_mock.assert_called_once_with(pytest.helpers.anyvar(int))
|
||||
chmod_mock.assert_called_once_with(0o600)
|
||||
|
||||
@ -165,7 +165,7 @@ def test_configuration_write_insecure(configuration: Configuration, mocker: Mock
|
||||
mocker.patch("ahriman.core.configuration.Configuration.write")
|
||||
chmod_mock = mocker.patch("pathlib.Path.chmod")
|
||||
|
||||
User.configuration_write(configuration, secure=False)
|
||||
Users.configuration_write(configuration, secure=False)
|
||||
chmod_mock.assert_not_called()
|
||||
|
||||
|
||||
@ -177,14 +177,14 @@ def test_configuration_write_not_loaded(configuration: Configuration, mocker: Mo
|
||||
mocker.patch("pathlib.Path.open")
|
||||
|
||||
with pytest.raises(InitializeException):
|
||||
User.configuration_write(configuration, secure=True)
|
||||
Users.configuration_write(configuration, secure=True)
|
||||
|
||||
|
||||
def test_get_salt_read(configuration: Configuration) -> None:
|
||||
"""
|
||||
must read salt from configuration
|
||||
"""
|
||||
assert User.get_salt(configuration) == "salt"
|
||||
assert Users.get_salt(configuration) == "salt"
|
||||
|
||||
|
||||
def test_get_salt_generate(configuration: Configuration) -> None:
|
||||
@ -193,17 +193,17 @@ def test_get_salt_generate(configuration: Configuration) -> None:
|
||||
"""
|
||||
configuration.remove_option("auth", "salt")
|
||||
|
||||
salt = User.get_salt(configuration, 16)
|
||||
salt = Users.get_salt(configuration, 16)
|
||||
assert salt
|
||||
assert len(salt) == 16
|
||||
|
||||
|
||||
def test_user_create(args: argparse.Namespace, user: MUser) -> None:
|
||||
def test_user_create(args: argparse.Namespace, user: User) -> None:
|
||||
"""
|
||||
must create user
|
||||
"""
|
||||
args = _default_args(args)
|
||||
generated = User.user_create(args)
|
||||
generated = Users.user_create(args)
|
||||
assert generated.username == user.username
|
||||
assert generated.access == user.access
|
||||
|
||||
@ -216,7 +216,7 @@ def test_user_create_getpass(args: argparse.Namespace, mocker: MockerFixture) ->
|
||||
args.password = None
|
||||
|
||||
getpass_mock = mocker.patch("getpass.getpass", return_value="password")
|
||||
generated = User.user_create(args)
|
||||
generated = Users.user_create(args)
|
||||
|
||||
getpass_mock.assert_called_once_with()
|
||||
assert generated.password == "password"
|
||||
@ -226,4 +226,4 @@ def test_disallow_auto_architecture_run() -> None:
|
||||
"""
|
||||
must not allow multi architecture run
|
||||
"""
|
||||
assert not User.ALLOW_AUTO_ARCHITECTURE_RUN
|
||||
assert not Users.ALLOW_AUTO_ARCHITECTURE_RUN
|
Reference in New Issue
Block a user