test: remediate audit findings for task log viewer, report card and logger tests

This commit is contained in:
2026-03-03 21:01:24 +03:00
parent ce3955ed2e
commit fa380ff9a5
11 changed files with 244 additions and 61 deletions

View File

@@ -14,20 +14,21 @@ from .core.config_manager import ConfigManager
from .core.scheduler import SchedulerService
from .services.resource_service import ResourceService
from .services.mapping_service import MappingService
from .services.clean_release.repository import CleanReleaseRepository
from .core.database import init_db, get_auth_db
from .core.logger import logger
from .core.auth.jwt import decode_token
from .core.auth.repository import AuthRepository
from .models.auth import User
# Initialize singletons
# Use absolute path relative to this file to ensure plugins are found regardless of CWD
project_root = Path(__file__).parent.parent.parent
config_path = project_root / "config.json"
# Initialize database before services that use persisted configuration.
init_db()
config_manager = ConfigManager(config_path=str(config_path))
# Initialize singletons
# Use absolute path relative to this file to ensure plugins are found regardless of CWD
project_root = Path(__file__).parent.parent.parent
config_path = project_root / "config.json"
# Initialize database before services that use persisted configuration.
init_db()
config_manager = ConfigManager(config_path=str(config_path))
# [DEF:get_config_manager:Function]
# @PURPOSE: Dependency injector for ConfigManager.
@@ -54,6 +55,9 @@ logger.info("SchedulerService initialized")
resource_service = ResourceService()
logger.info("ResourceService initialized")
clean_release_repository = CleanReleaseRepository()
logger.info("CleanReleaseRepository initialized")
# [DEF:get_plugin_loader:Function]
# @PURPOSE: Dependency injector for PluginLoader.
# @PRE: Global plugin_loader must be initialized.
@@ -104,6 +108,16 @@ def get_mapping_service() -> MappingService:
return MappingService(config_manager)
# [/DEF:get_mapping_service:Function]
# [DEF:get_clean_release_repository:Function]
# @PURPOSE: Dependency injector for CleanReleaseRepository.
# @PRE: Global clean_release_repository must be initialized.
# @POST: Returns shared CleanReleaseRepository instance.
# @RETURN: CleanReleaseRepository - Shared clean release repository instance.
def get_clean_release_repository() -> CleanReleaseRepository:
return clean_release_repository
# [/DEF:get_clean_release_repository:Function]
# [DEF:oauth2_scheme:Variable]
# @PURPOSE: OAuth2 password bearer scheme for token extraction.
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/auth/login")