First commit

This commit is contained in:
Johan
2025-12-19 10:07:55 +01:00
commit 0a1abf97f1
17 changed files with 2313 additions and 0 deletions

0
tests/__init__.py Normal file
View File

0
tests/api/__init__.py Normal file
View File

20
tests/api/test_api.py Normal file
View File

@@ -0,0 +1,20 @@
import pytest
from httpx import AsyncClient
@pytest.mark.asyncio
async def test_read_root_success(test_client: AsyncClient):
"""
Vérifie que l'endpoint racine ("/") fonctionne et renvoie le message attendu
"""
# 1. Action (appel de l'API)
response = await test_client.get("/")
# 2. Assertions (vérifications)
# Vérifie que la requête a réussi
assert response.status_code == 200
# Vérifie le contenu de la réponse
data = response.json()
assert "fantastic" in data["message"]

15
tests/conftest.py Normal file
View File

@@ -0,0 +1,15 @@
from typing import AsyncGenerator
import pytest
from httpx import AsyncClient, ASGITransport
from app.main import app
@pytest.fixture
async def test_client() -> AsyncGenerator[AsyncClient, None]:
# On crée un "transport" pour l'application ASGI
transport = ASGITransport(app=app)
async with AsyncClient(transport=transport, base_url="http://test") as client:
yield client
app.dependency_overrides.clear()