9fd0ca9cac
Infra: cache_to_file, cache_to_sqlite, http_download_file, http_get_json, http_post_json, read_file_with_encoding, safe_extract_zip, scan_directory, setup_logger, normalize_zip_filenames. Tipos: 30+ tipos core (agent_action, context, task, message, parse_result...), 6 tipos datascience (entity_candidate, extraction_result...), 2 tipos infra. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
"""Tests para setup_logger."""
|
|
|
|
import logging
|
|
import os
|
|
import tempfile
|
|
|
|
from setup_logger import get_logger, setup_logger
|
|
|
|
|
|
def test_logger_tiene_dos_handlers():
|
|
with tempfile.TemporaryDirectory() as log_dir:
|
|
logger = setup_logger(name="test_two_handlers", log_dir=log_dir)
|
|
assert len(logger.handlers) == 2
|
|
# limpiar para no contaminar otros tests
|
|
logger.handlers.clear()
|
|
|
|
|
|
def test_segundo_call_no_duplica_handlers():
|
|
with tempfile.TemporaryDirectory() as log_dir:
|
|
logger1 = setup_logger(name="test_idempotent", log_dir=log_dir)
|
|
handler_count_after_first = len(logger1.handlers)
|
|
logger2 = setup_logger(name="test_idempotent", log_dir=log_dir)
|
|
assert logger1 is logger2
|
|
assert len(logger2.handlers) == handler_count_after_first
|
|
logger1.handlers.clear()
|
|
|
|
|
|
def test_archivo_se_crea_en_log_dir():
|
|
with tempfile.TemporaryDirectory() as log_dir:
|
|
logger = setup_logger(name="test_file_created", log_dir=log_dir)
|
|
log_files = [f for f in os.listdir(log_dir) if f.endswith(".log")]
|
|
assert len(log_files) == 1
|
|
logger.handlers.clear()
|
|
|
|
|
|
def test_get_logger_retorna_logger_configurado():
|
|
with tempfile.TemporaryDirectory() as log_dir:
|
|
# Primero configurar para que get_logger encuentre handlers
|
|
setup_logger(name="test_get_logger", log_dir=log_dir)
|
|
logger = get_logger(name="test_get_logger")
|
|
assert len(logger.handlers) == 2
|
|
logger.handlers.clear()
|
|
|
|
|
|
def test_logger_level_es_debug():
|
|
with tempfile.TemporaryDirectory() as log_dir:
|
|
logger = setup_logger(name="test_level_debug", log_dir=log_dir, level=logging.DEBUG)
|
|
assert logger.level == logging.DEBUG
|
|
logger.handlers.clear()
|