"""Pytest configuration and fixtures for Schwab MCP Server tests."""
import pytest
from unittest.mock import AsyncMock, MagicMock
from schwab_mcp.client import SchwabClient
from schwab_mcp.auth import TokenManager, Token
@pytest.fixture
def mock_token():
"""Create a mock Token."""
return Token(
access_token="test_access_token",
refresh_token="test_refresh_token",
expires_at=9999999999,
token_type="Bearer",
)
@pytest.fixture
def mock_token_manager(mock_token):
"""Create a mock TokenManager."""
manager = MagicMock(spec=TokenManager)
manager.get_valid_token = AsyncMock(return_value=mock_token)
return manager
@pytest.fixture
def mock_client(mock_token_manager):
"""Create a SchwabClient with mocked token manager."""
client = SchwabClient(token_manager=mock_token_manager, timeout=30)
return client