Files
Multi_Swarm_Coevolutive/tests/unit/test_cerbero_client.py
T
Adriano Dal Pastro b6539802e0 refactor(layout): rename multi_swarm → multi_swarm_core con doppia nidificazione uv workspace
- mv src/multi_swarm → src/multi_swarm_core/multi_swarm_core (member layout)
- sed-replace globale degli import: from/import multi_swarm.* → multi_swarm_core.*
- 115 occorrenze aggiornate in src/ scripts/ tests/
- multi_swarm_coevolutive (nome repo) preservato dal word boundary

Pre-condizione per il setup uv workspace della Fase 3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 17:43:48 +00:00

38 lines
1.1 KiB
Python

import pytest
import responses
from multi_swarm_core.cerbero.client import CerberoClient
@responses.activate
def test_call_tool_passes_bearer_and_bot_tag() -> None:
responses.add(
responses.POST,
"http://test:9000/mcp-deribit/tools/get_iv_rank",
json={"iv_rank": 0.42},
status=200,
)
client = CerberoClient(
base_url="http://test:9000", token="tok-xyz", bot_tag="swarm-poc-phase1"
)
result = client.call_tool("deribit", "get_iv_rank", {"symbol": "BTC-PERPETUAL"})
assert result == {"iv_rank": 0.42}
req = responses.calls[0].request
assert req.headers["Authorization"] == "Bearer tok-xyz"
assert req.headers["X-Bot-Tag"] == "swarm-poc-phase1"
@responses.activate
def test_call_tool_raises_on_error() -> None:
responses.add(
responses.POST,
"http://test:9000/mcp-deribit/tools/get_iv_rank",
json={"error": "bad"},
status=400,
)
client = CerberoClient(
base_url="http://test:9000", token="tok-xyz", bot_tag="swarm-poc-phase1"
)
with pytest.raises(RuntimeError):
client.call_tool("deribit", "get_iv_rank", {})