Adds tests for VeritextSettings defaults, env var overrides, and the get_logger/configure_logging functions.
57 lines
2.0 KiB
Python
57 lines
2.0 KiB
Python
"""Tests for logging module."""
|
|
|
|
from veritext.core.logging import configure_logging, get_logger
|
|
|
|
|
|
class TestGetLogger:
|
|
"""Tests for get_logger function."""
|
|
|
|
def test_get_logger_returns_logger(self) -> None:
|
|
"""Test get_logger returns a logger instance."""
|
|
logger = get_logger()
|
|
assert logger is not None
|
|
|
|
def test_get_logger_default_name(self) -> None:
|
|
"""Test get_logger uses 'veritext' as default name."""
|
|
logger = get_logger()
|
|
# The logger should be a bound logger from structlog
|
|
assert hasattr(logger, "info")
|
|
assert hasattr(logger, "debug")
|
|
assert hasattr(logger, "warning")
|
|
assert hasattr(logger, "error")
|
|
|
|
def test_get_logger_custom_name(self) -> None:
|
|
"""Test get_logger respects custom name parameter."""
|
|
logger = get_logger("custom.module")
|
|
assert logger is not None
|
|
assert hasattr(logger, "info")
|
|
|
|
|
|
class TestConfigureLogging:
|
|
"""Tests for configure_logging function."""
|
|
|
|
def test_configure_logging_console_format(self) -> None:
|
|
"""Test configure_logging with console format does not raise."""
|
|
configure_logging(level="INFO", log_format="console")
|
|
logger = get_logger()
|
|
assert logger is not None
|
|
|
|
def test_configure_logging_json_format(self) -> None:
|
|
"""Test configure_logging with json format does not raise."""
|
|
configure_logging(level="DEBUG", log_format="json")
|
|
logger = get_logger()
|
|
assert logger is not None
|
|
|
|
def test_configure_logging_uses_defaults(self) -> None:
|
|
"""Test configure_logging uses settings defaults when not provided."""
|
|
configure_logging()
|
|
logger = get_logger()
|
|
assert logger is not None
|
|
|
|
def test_configure_logging_different_levels(self) -> None:
|
|
"""Test configure_logging accepts different log levels."""
|
|
for level in ("DEBUG", "INFO", "WARNING", "ERROR"):
|
|
configure_logging(level=level)
|
|
logger = get_logger()
|
|
assert logger is not None
|