#!/usr/bin/env python3
"""Test orderbook with correct token ID"""
import os
import sys
from pathlib import Path
import json
sys.path.insert(0, str(Path(__file__).parent / "src"))
from mcp_opinion.config import OpinionConfig
from mcp_opinion.public_client import PublicClient
async def test_orderbook():
"""Test orderbook with correct token ID"""
config = OpinionConfig.from_env()
client = PublicClient(
api_key=config.api_key,
base_url=config.api_host,
timeout=config.api_timeout
)
print(f"\nTesting Orderbook")
print(f"="*60)
try:
# Get markets
markets = await client.get_markets()
if not markets:
print("✗ No markets found")
return
market = markets[0]
print(f"Market: {market.get('marketTitle', 'Unknown')}")
print(f"Market ID: {market.get('marketId')}")
print(f"YES Token ID: {market.get('yesTokenId')}")
print(f"NO Token ID: {market.get('noTokenId')}")
# Get orderbook for YES token
yes_token_id = market.get('yesTokenId')
if not yes_token_id:
print("✗ No YES token ID found")
return
print(f"\nFetching orderbook for YES token ({yes_token_id})...")
orderbook = await client.get_orderbook(yes_token_id)
print(f"✓ Got orderbook data")
print(f"Orderbook keys: {list(orderbook.keys()) if isinstance(orderbook, dict) else 'list'}")
if isinstance(orderbook, dict):
print(json.dumps(orderbook, indent=2, default=str)[:600])
else:
print(f"Orderbook is list with {len(orderbook)} items")
if orderbook:
print(f"First item: {orderbook[0]}")
except Exception as e:
print(f"✗ Error: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
import asyncio
asyncio.run(test_orderbook())