mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2025-04-19 08:55:15 +00:00
83 lines
2.3 KiB
Python
83 lines
2.3 KiB
Python
|
"""Test Module for logutil Module."""
|
||
|
|
||
|
import logging
|
||
|
import os
|
||
|
from logging.handlers import RotatingFileHandler
|
||
|
|
||
|
import pytest
|
||
|
|
||
|
from akkudoktoreos.logutil import get_logger
|
||
|
|
||
|
# -----------------------------
|
||
|
# get_logger
|
||
|
# -----------------------------
|
||
|
|
||
|
|
||
|
@pytest.fixture
|
||
|
def clean_up_log_file():
|
||
|
"""Fixture to clean up log files after tests."""
|
||
|
log_file = "test.log"
|
||
|
yield log_file
|
||
|
if os.path.exists(log_file):
|
||
|
os.remove(log_file)
|
||
|
|
||
|
|
||
|
def test_get_logger_console_logging(clean_up_log_file):
|
||
|
"""Test logger creation with console logging."""
|
||
|
logger = get_logger("test_logger", logging_level="DEBUG")
|
||
|
|
||
|
# Check logger name
|
||
|
assert logger.name == "test_logger"
|
||
|
|
||
|
# Check logger level
|
||
|
assert logger.level == logging.DEBUG
|
||
|
|
||
|
# Check console handler is present
|
||
|
assert len(logger.handlers) == 1
|
||
|
assert isinstance(logger.handlers[0], logging.StreamHandler)
|
||
|
|
||
|
|
||
|
def test_get_logger_file_logging(clean_up_log_file):
|
||
|
"""Test logger creation with file logging."""
|
||
|
logger = get_logger("test_logger", log_file="test.log", logging_level="WARNING")
|
||
|
|
||
|
# Check logger name
|
||
|
assert logger.name == "test_logger"
|
||
|
|
||
|
# Check logger level
|
||
|
assert logger.level == logging.WARNING
|
||
|
|
||
|
# Check console handler is present
|
||
|
assert len(logger.handlers) == 2 # One for console and one for file
|
||
|
assert isinstance(logger.handlers[0], logging.StreamHandler)
|
||
|
assert isinstance(logger.handlers[1], RotatingFileHandler)
|
||
|
|
||
|
# Check file existence
|
||
|
assert os.path.exists("test.log")
|
||
|
|
||
|
|
||
|
def test_get_logger_no_file_logging(clean_up_log_file):
|
||
|
"""Test logger creation without file logging."""
|
||
|
logger = get_logger("test_logger")
|
||
|
|
||
|
# Check logger name
|
||
|
assert logger.name == "test_logger"
|
||
|
|
||
|
# Check logger level
|
||
|
assert logger.level == logging.INFO
|
||
|
|
||
|
# Check no file handler is present
|
||
|
assert len(logger.handlers) >= 1 # First is console handler (maybe be pytest handler)
|
||
|
assert isinstance(logger.handlers[0], logging.StreamHandler)
|
||
|
|
||
|
|
||
|
def test_get_logger_with_invalid_level(clean_up_log_file):
|
||
|
"""Test logger creation with an invalid logging level."""
|
||
|
logger = get_logger("test_logger", logging_level="INVALID")
|
||
|
|
||
|
# Check logger name
|
||
|
assert logger.name == "test_logger"
|
||
|
|
||
|
# Check default logging level is DEBUG
|
||
|
assert logger.level == logging.DEBUG
|