2025-01-05 14:41:07 +01:00
|
|
|
"""Test Module for logging Module."""
|
2024-11-10 23:49:10 +01:00
|
|
|
import logging
|
2025-06-10 22:00:28 +02:00
|
|
|
import os
|
|
|
|
import sys
|
2025-02-12 21:35:51 +01:00
|
|
|
from pathlib import Path
|
2025-06-10 22:00:28 +02:00
|
|
|
from unittest.mock import patch
|
2024-11-10 23:49:10 +01:00
|
|
|
|
|
|
|
import pytest
|
2025-06-10 22:00:28 +02:00
|
|
|
from loguru import logger
|
2024-11-10 23:49:10 +01:00
|
|
|
|
2025-06-10 22:00:28 +02:00
|
|
|
from akkudoktoreos.core.logging import track_logging_config
|
2024-11-10 23:49:10 +01:00
|
|
|
|
|
|
|
# -----------------------------
|
2025-06-10 22:00:28 +02:00
|
|
|
# logsettings
|
2024-11-10 23:49:10 +01:00
|
|
|
# -----------------------------
|
|
|
|
|
2025-06-10 22:00:28 +02:00
|
|
|
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()
|