agravity_client/tests/conftest.py

31 lines
927 B
Python

"""Shared pytest fixtures for the agravity-client test suite."""
from __future__ import annotations
import pytest
import pytest_asyncio
import httpx
from agravity_client.client import AgravityClient
from agravity_client.config import AgravityConfig
@pytest.fixture
def config() -> AgravityConfig:
"""Return a test AgravityConfig with a dummy API key."""
return AgravityConfig(
api_key="test-api-key",
base_url="https://api.example.local/api",
)
@pytest_asyncio.fixture
async def client(config: AgravityConfig) -> AgravityClient:
"""Return an AgravityClient backed by a real (but not-yet-connected) transport.
Tests that need to mock HTTP responses should use ``pytest-httpx``'s
``httpx_mock`` fixture and pass a transport via::
client._http = httpx.AsyncClient(transport=httpx_mock.get_async_handler())
"""
async with AgravityClient(config) as c:
yield c