MCP YNAB Server

"""Pytest configuration and shared fixtures.""" import os from typing import Generator import pytest from dotenv import load_dotenv from ynab.api_client import ApiClient from ynab.configuration import Configuration def pytest_configure(config): """Configure custom markers.""" config.addinivalue_line( "markers", "integration: mark test as an integration test that requires YNAB API access", ) @pytest.fixture(scope="session") def env_setup() -> None: """Load environment variables for tests.""" load_dotenv(verbose=True) if not os.getenv("YNAB_API_KEY"): pytest.skip("YNAB_API_KEY not set in environment") @pytest.fixture def ynab_client(env_setup) -> Generator: """Create a YNAB API client for testing.""" if not os.getenv("YNAB_API_KEY"): pytest.skip("YNAB_API_KEY not set in environment") configuration = Configuration(access_token=os.getenv("YNAB_API_KEY")) with ApiClient(configuration) as client: yield client