Files
egutierrez 9fd0ca9cac feat: funciones Python infra y tipos Python (core, datascience, infra)
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>
2026-04-05 17:11:43 +02:00

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()