"""Test Module for logging Module.""" import logging import os import sys from pathlib import Path from unittest.mock import patch import pytest from loguru import logger from akkudoktoreos.core.logging import track_logging_config # ----------------------------- # logsettings # ----------------------------- class TestLoggingCommonSettings: def teardown_method(self): """Reset Loguru after each test to avoid handler contamination.""" logger.remove() def test_valid_console_level_sets_logging(self, config_eos, caplog): config_eos.track_nested_value("/logging", track_logging_config) config_eos.set_nested_value("/logging/console_level", "INFO") assert config_eos.get_nested_value("/logging/console_level") == "INFO" assert config_eos.logging.console_level == "INFO" assert any("console: INFO" in message for message in caplog.messages) def test_valid_console_level_calls_tracking_callback(self, config_eos): with patch("akkudoktoreos.core.logging.track_logging_config") as mock_setup: config_eos.track_nested_value("/logging", mock_setup) config_eos.set_nested_value("/logging/console_level", "INFO") assert config_eos.get_nested_value("/logging/console_level") == "INFO" assert config_eos.logging.console_level == "INFO" mock_setup.assert_called_once()