44c7a18d3e
Riscrive `AlpacaClient` su `httpx.AsyncClient` rimuovendo ogni dipendenza runtime da `alpaca-py`. 4 endpoint base distinti (trading paper/live, stock data, crypto data, options data) gestiti via helper `_request` con header `APCA-API-KEY-ID` / `APCA-API-SECRET-KEY`. Firma costruttore e attributi pubblici (`paper`, `base_url`) invariati; `base_url` override applica al solo trading endpoint. Nuovo `aclose()` per cleanup connessioni. Test riscritti su `pytest-httpx` (29 test alpaca + leverage cap). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
24 lines
547 B
Python
24 lines
547 B
Python
from __future__ import annotations
|
|
|
|
import pytest
|
|
from cerbero_mcp.exchanges.alpaca.client import AlpacaClient
|
|
|
|
|
|
@pytest.fixture
|
|
async def client():
|
|
"""AlpacaClient paper su httpx mock (gestito da pytest-httpx)."""
|
|
c = AlpacaClient(api_key="test_key", secret_key="test_secret", paper=True)
|
|
try:
|
|
yield c
|
|
finally:
|
|
await c.aclose()
|
|
|
|
|
|
@pytest.fixture
|
|
async def client_live():
|
|
c = AlpacaClient(api_key="test_key", secret_key="test_secret", paper=False)
|
|
try:
|
|
yield c
|
|
finally:
|
|
await c.aclose()
|