Files
crypto_trader/tests/unit/core/test_logger.py

44 lines
1.4 KiB
Python

"""Tests for logging system."""
import pytest
import logging
from pathlib import Path
from unittest.mock import patch
from src.core.logger import setup_logging, get_logger
class TestLogger:
"""Tests for logging system."""
def test_logger_setup(self, test_log_dir):
"""Test logger setup."""
with patch('src.core.logger.get_config') as mock_get_config:
mock_config = mock_get_config.return_value
mock_config.get.side_effect = lambda key, default=None: {
'logging.dir': str(test_log_dir),
'logging.retention_days': 30,
'logging.level': 'INFO'
}.get(key, default)
setup_logging()
logger = get_logger('test')
assert logger is not None
assert isinstance(logger, logging.Logger)
def test_logger_get(self):
"""Test getting logger instance."""
logger = get_logger('test_module')
assert logger is not None
assert logger.name == 'test_module'
def test_logger_levels(self):
"""Test different log levels."""
logger = get_logger('test')
# Should not raise exceptions
logger.debug("Debug message")
logger.info("Info message")
logger.warning("Warning message")
logger.error("Error message")
logger.critical("Critical message")