Add comprehensive test suite for image processing and related services
- Implement tests for database generator to ensure proper session handling. - Create tests for EXIF extraction and conversion functions. - Add tests for image-related endpoints, ensuring proper data retrieval and isolation between clients. - Develop tests for OCR functionality, including language detection and text extraction. - Introduce tests for the image processing pipeline, covering success and failure scenarios. - Validate rate limiting functionality and ensure independent counters for different clients. - Implement scraper tests to verify HTML content fetching and error handling. - Add unit tests for various services, including storage and filename generation. - Establish worker entry point for ARQ to handle background image processing tasks.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import pytest
|
||||
from httpx import AsyncClient, ASGITransport
|
||||
from app.main import app
|
||||
from app.config import settings
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_root_endpoint(async_client: AsyncClient):
|
||||
response = await async_client.get("/")
|
||||
assert response.status_code == 200
|
||||
assert response.json()["app"] == settings.APP_NAME
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_health_endpoint(async_client: AsyncClient):
|
||||
response = await async_client.get("/health")
|
||||
assert response.status_code == 200
|
||||
assert "status" in response.json()
|
||||
assert response.json()["status"] == "healthy"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_lifespan(async_client: AsyncClient):
|
||||
# Testing that the lifespan context manager can be entered/exited
|
||||
# ASGITransport already handles this if used correctly
|
||||
async with ASGITransport(app=app) as transport:
|
||||
# Just entering the context triggers lifespan
|
||||
pass
|
||||
Reference in New Issue
Block a user