"""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
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/klauern/mcp-ynab'
If you have feedback or need assistance with the MCP directory API, please join our Discord server