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,72 @@
|
||||
# ============================================================
|
||||
# Imago — Configuration
|
||||
# Copier ce fichier en .env et remplir les valeurs
|
||||
# ============================================================
|
||||
|
||||
# Application
|
||||
APP_NAME="Imago"
|
||||
APP_VERSION="1.0.0"
|
||||
DEBUG=true
|
||||
SECRET_KEY="changez-moi-en-production-avec-une-cle-aleatoire-longue"
|
||||
|
||||
# AI — Configuration
|
||||
AI_ENABLED=true
|
||||
|
||||
# AI — Provider (gemini/openrouter)
|
||||
AI_PROVIDER="openrouter"
|
||||
|
||||
# Serveur
|
||||
HOST=0.0.0.0
|
||||
PORT=8000
|
||||
|
||||
# Base de données
|
||||
DATABASE_URL="sqlite+aiosqlite:///./data/imago.db"
|
||||
# Pour PostgreSQL:
|
||||
# DATABASE_URL="postgresql+asyncpg://user:password@localhost/shaarli"
|
||||
|
||||
# Stockage des fichiers
|
||||
UPLOAD_DIR="./data/uploads"
|
||||
THUMBNAILS_DIR="./data/thumbnails"
|
||||
MAX_UPLOAD_SIZE_MB=50
|
||||
|
||||
# AI — Google Gemini
|
||||
GEMINI_API_KEY="AIza..."
|
||||
GEMINI_MODEL="gemini-3.1-pro-preview"
|
||||
GEMINI_MAX_TOKENS=1024
|
||||
|
||||
# AI - Openrouter
|
||||
# model name : mistralai/mistral-small-3.1-24b-instruct:free
|
||||
# model name : google/gemini-2.0-flash-001
|
||||
OPENROUTER_API_KEY="..."
|
||||
OPENROUTER_MODEL="qwen/qwen2.5-vl-72b-instruct"
|
||||
|
||||
# AI — Comportement
|
||||
AI_TAGS_MIN=5
|
||||
AI_TAGS_MAX=10
|
||||
AI_DESCRIPTION_LANGUAGE="français"
|
||||
AI_CACHE_DAYS=30
|
||||
|
||||
# OCR
|
||||
OCR_ENABLED=true
|
||||
TESSERACT_CMD="/usr/bin/tesseract"
|
||||
OCR_LANGUAGES="fra+eng"
|
||||
|
||||
# CORS
|
||||
CORS_ORIGINS=["http://localhost:3000","http://localhost:8080","http://localhost:5173"]
|
||||
|
||||
# Authentification
|
||||
ADMIN_API_KEY=""
|
||||
JWT_SECRET_KEY="changez-moi-jwt-secret-en-production"
|
||||
JWT_ALGORITHM="HS256"
|
||||
|
||||
# Rate Limiting (requêtes par minute — legacy)
|
||||
RATE_LIMIT_UPLOAD=10
|
||||
RATE_LIMIT_AI=20
|
||||
|
||||
# Rate Limiting par plan (requêtes par heure)
|
||||
RATE_LIMIT_FREE_UPLOAD=20
|
||||
RATE_LIMIT_FREE_AI=50
|
||||
RATE_LIMIT_STANDARD_UPLOAD=100
|
||||
RATE_LIMIT_STANDARD_AI=200
|
||||
RATE_LIMIT_PREMIUM_UPLOAD=500
|
||||
RATE_LIMIT_PREMIUM_AI=1000
|
||||
Reference in New Issue
Block a user