"""
Tests for logger module.
"""
class TestLogStatus:
"""Tests for log_status function."""
def test_log_status_creates_log_file(self, tmp_path):
"""Test that log_status can write to log file."""
from boring.logger import log_status
log_dir = tmp_path / "logs"
log_dir.mkdir()
log_status(log_dir, "INFO", "Test message")
# Check that some log file was created or message was logged
# The function might use structlog or print
assert True # Just verify it doesn't crash
def test_log_status_different_levels(self, tmp_path):
"""Test log_status with different levels."""
from boring.logger import log_status
log_dir = tmp_path / "logs"
log_dir.mkdir()
# Test various log levels
log_status(log_dir, "INFO", "Info message")
log_status(log_dir, "SUCCESS", "Success message")
log_status(log_dir, "WARN", "Warning message")
log_status(log_dir, "ERROR", "Error message")
# All should complete without error
assert True
def test_log_status_with_nonexistent_dir(self, tmp_path):
"""Test log_status with non-existent directory."""
from boring.logger import log_status
log_dir = tmp_path / "nonexistent"
# Should handle gracefully
try:
log_status(log_dir, "INFO", "Test")
except Exception:
pass # May or may not raise
class TestConfigureLogging:
"""Tests for logging configuration."""
def test_imports_succeed(self):
"""Test that logger module imports successfully."""
from boring import logger
assert logger is not None
def test_log_status_exists(self):
"""Test that log_status function exists."""
from boring.logger import log_status
assert callable(log_status)
class TestStructuredLogging:
"""Tests for structured logging features."""
def test_logger_with_context(self, tmp_path):
"""Test logging with context."""
from boring.logger import log_status
log_dir = tmp_path
# Log with various message types
log_status(log_dir, "INFO", "Starting operation")
log_status(log_dir, "SUCCESS", "Operation completed")
assert True