claude-proxy / tests /api /test_runtime_safe_logging.py
dheraingoud's picture
Initial commit of free-claude-code base with KeyRotator and custom NIM/Groq improvements
7553a70
Raw
History Blame Contribute Delete
2.21 kB
"""Tests for safe default logging in :mod:`api.runtime`."""
import importlib
import logging
from unittest.mock import MagicMock, patch
import pytest
from tests.api.test_app_lifespan_and_errors import _app_settings
@pytest.mark.asyncio
async def test_messaging_start_failure_default_logs_exclude_traceback(caplog):
api_runtime_mod = importlib.import_module("api.runtime")
settings = _app_settings(
messaging_platform="telegram",
telegram_bot_token="t",
allowed_telegram_user_id="1",
discord_bot_token=None,
allowed_discord_channels=None,
allowed_dir="",
claude_workspace="./agent_workspace",
host="127.0.0.1",
port=8082,
log_api_error_tracebacks=False,
)
runtime = api_runtime_mod.AppRuntime(app=MagicMock(), settings=settings)
with (
patch(
"messaging.platforms.factory.create_messaging_platform",
side_effect=RuntimeError("SECRET_RUNTIME_DETAIL"),
),
caplog.at_level(logging.ERROR),
):
await runtime._start_messaging_if_configured()
blob = " | ".join(r.getMessage() for r in caplog.records)
assert "SECRET_RUNTIME_DETAIL" not in blob
assert "exc_type=RuntimeError" in blob
@pytest.mark.asyncio
async def test_best_effort_default_logs_exclude_exception_text(caplog):
api_runtime_mod = importlib.import_module("api.runtime")
async def boom():
raise ValueError("SECRET_SHUTDOWN")
with caplog.at_level(logging.WARNING):
await api_runtime_mod.best_effort("test_step", boom(), log_verbose_errors=False)
blob = " | ".join(r.getMessage() for r in caplog.records)
assert "SECRET_SHUTDOWN" not in blob
assert "exc_type=ValueError" in blob
@pytest.mark.asyncio
async def test_best_effort_verbose_includes_exception_text(caplog):
api_runtime_mod = importlib.import_module("api.runtime")
async def boom():
raise ValueError("VISIBLE_SHUTDOWN")
with caplog.at_level(logging.WARNING):
await api_runtime_mod.best_effort("test_step", boom(), log_verbose_errors=True)
blob = " | ".join(r.getMessage() for r in caplog.records)
assert "VISIBLE_SHUTDOWN" in blob