Files
langchain-extract/backend/tests/unit_tests/utils.py
T
Eugene Yurtsev f5acd6fbe2 Initial draft
2024-02-29 14:31:19 -05:00

26 lines
679 B
Python

from contextlib import asynccontextmanager
from typing import Optional
import httpx
from fastapi import FastAPI
from httpx import AsyncClient
@asynccontextmanager
async def get_async_test_client(
server: FastAPI, *, path: Optional[str] = None, raise_app_exceptions: bool = True
) -> AsyncClient:
"""Get an async client."""
url = "http://localhost:9999/"
if path:
url += path
transport = httpx.ASGITransport(
app=server,
raise_app_exceptions=raise_app_exceptions,
)
async_client = AsyncClient(app=server, base_url=url, transport=transport)
try:
yield async_client
finally:
await async_client.aclose()