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>
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
"""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()
|
||||
Reference in New Issue
Block a user