Files
EOS/tests/test_logging.py
T

36 lines
1.4 KiB
Python
Raw Normal View History

2025-01-05 14:41:07 +01:00
"""Test Module for logging Module."""
2024-11-10 23:49:10 +01:00
import logging
import os
import sys
2025-02-12 21:35:51 +01:00
from pathlib import Path
from unittest.mock import patch
2024-11-10 23:49:10 +01:00
import pytest
from loguru import logger
2024-11-10 23:49:10 +01:00
from akkudoktoreos.core.logging import logging_track_config
2024-11-10 23:49:10 +01:00
# -----------------------------
# logsettings
2024-11-10 23:49:10 +01:00
# -----------------------------
class TestLoggingCommonSettings:
def teardown_method(self):
"""Reset Loguru after each test to avoid handler contamination."""
logger.remove()
2024-11-10 23:49:10 +01:00
def test_valid_console_level_sets_logging(self, config_eos, caplog):
config_eos.track_nested_value("/logging", logging_track_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)
2024-11-10 23:49:10 +01:00
def test_valid_console_level_calls_tracking_callback(self, config_eos):
with patch("akkudoktoreos.core.logging.logging_track_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()