refactoring

This commit is contained in:
Maxim Devaev 2023-01-22 18:11:26 +02:00
parent 2cbdd9984a
commit 828778f10a
3 changed files with 14 additions and 9 deletions

View File

@ -74,12 +74,14 @@ def main(argv: (list[str] | None)=None) -> None:
KvmdServer( KvmdServer(
auth_manager=AuthManager( auth_manager=AuthManager(
enabled=config.auth.enabled,
internal_type=config.auth.internal.type, internal_type=config.auth.internal.type,
internal_kwargs=config.auth.internal._unpack(ignore=["type", "force_users"]), internal_kwargs=config.auth.internal._unpack(ignore=["type", "force_users"]),
force_internal_users=config.auth.internal.force_users,
external_type=config.auth.external.type, external_type=config.auth.external.type,
external_kwargs=(config.auth.external._unpack(ignore=["type"]) if config.auth.external.type else {}), external_kwargs=(config.auth.external._unpack(ignore=["type"]) if config.auth.external.type else {}),
force_internal_users=config.auth.internal.force_users,
enabled=config.auth.enabled,
), ),
info_manager=InfoManager(global_config), info_manager=InfoManager(global_config),
log_reader=(LogReader() if config.log_reader.enabled else None), log_reader=(LogReader() if config.log_reader.enabled else None),

View File

@ -34,15 +34,14 @@ from ...plugins.auth import get_auth_service_class
class AuthManager: class AuthManager:
def __init__( def __init__(
self, self,
enabled: bool,
internal_type: str, internal_type: str,
internal_kwargs: dict, internal_kwargs: dict,
force_internal_users: list[str],
external_type: str, external_type: str,
external_kwargs: dict, external_kwargs: dict,
force_internal_users: list[str],
enabled: bool,
) -> None: ) -> None:
self.__enabled = enabled self.__enabled = enabled

View File

@ -51,12 +51,14 @@ async def _get_configured_manager(
) -> AsyncGenerator[AuthManager, None]: ) -> AsyncGenerator[AuthManager, None]:
manager = AuthManager( manager = AuthManager(
enabled=True,
internal_type="htpasswd", internal_type="htpasswd",
internal_kwargs=_make_service_kwargs(internal_path), internal_kwargs=_make_service_kwargs(internal_path),
force_internal_users=(force_internal_users or []),
external_type=("htpasswd" if external_path else ""), external_type=("htpasswd" if external_path else ""),
external_kwargs=(_make_service_kwargs(external_path) if external_path else {}), external_kwargs=(_make_service_kwargs(external_path) if external_path else {}),
force_internal_users=(force_internal_users or []),
enabled=True,
) )
try: try:
@ -139,12 +141,14 @@ async def test_ok__external(tmpdir) -> None: # type: ignore
async def test_ok__disabled() -> None: async def test_ok__disabled() -> None:
try: try:
manager = AuthManager( manager = AuthManager(
enabled=False,
internal_type="foobar", internal_type="foobar",
internal_kwargs={}, internal_kwargs={},
force_internal_users=[],
external_type="", external_type="",
external_kwargs={}, external_kwargs={},
force_internal_users=[],
enabled=False,
) )
assert not manager.is_auth_enabled() assert not manager.is_auth_enabled()