"""Tests for logging module.""" from veritext.core.logging import configure_logging, get_logger class TestGetLogger: def test_get_logger_returns_logger(self) -> None: logger = get_logger() assert logger is not None def test_get_logger_default_name(self) -> None: 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: logger = get_logger("custom.module") assert logger is not None assert hasattr(logger, "info") class TestConfigureLogging: def test_configure_logging_console_format(self) -> None: configure_logging(level="INFO", log_format="console") logger = get_logger() assert logger is not None def test_configure_logging_json_format(self) -> None: configure_logging(level="DEBUG", log_format="json") logger = get_logger() assert logger is not None def test_configure_logging_uses_defaults(self) -> None: configure_logging() logger = get_logger() assert logger is not None def test_configure_logging_different_levels(self) -> None: for level in ("DEBUG", "INFO", "WARNING", "ERROR"): configure_logging(level=level) logger = get_logger() assert logger is not None