veilid/veilid-python/tests/conftest.py

33 lines
758 B
Python
Raw Permalink Normal View History

"""Common test fixtures."""
2023-06-17 18:37:39 +00:00
from typing import AsyncGenerator
import pytest
2023-06-17 18:37:39 +00:00
import pytest_asyncio
from veilid.json_api import _JsonVeilidAPI
import veilid
2023-06-17 18:37:39 +00:00
from .api import VeilidTestConnectionError, api_connector
2023-06-17 18:37:39 +00:00
pytest_plugins = ("pytest_asyncio",)
2023-06-17 18:37:39 +00:00
async def simple_update_callback(update: veilid.VeilidUpdate):
print(f"VeilidUpdate: {update}")
@pytest_asyncio.fixture
async def api_connection() -> AsyncGenerator[_JsonVeilidAPI, None]:
try:
api = await api_connector(simple_update_callback)
except VeilidTestConnectionError:
pytest.skip("Unable to connect to veilid-server.")
return
2023-06-17 18:37:39 +00:00
async with api:
# purge routes to ensure we start fresh
await api.debug("purge routes")
yield api