diff --git a/tests/conftest.py b/tests/conftest.py index 4016ff0..78cdb21 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1 +1,25 @@ -# Env var setup that must run before app.config is imported. +import httpx +import pytest +from httpx import ASGITransport, AsyncClient + +from app.config import Settings +from app.main import create_app + + +@pytest.fixture +async def app(): + application = create_app(Settings(check_timeout_seconds=0.1)) + async with application.router.lifespan_context(application): + yield application + + +@pytest.fixture +async def client(app): + async with AsyncClient(transport=ASGITransport(app=app), base_url="http://test") as value: + yield value + + +async def create_monitor(client: httpx.AsyncClient, url: str = "https://example.com/health") -> dict: + response = await client.post("/v1/monitors", json={"name": "website", "url": url}) + assert response.status_code == 201 + return response.json()