"""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