ATP - بررسی سلامت سرویس (نسخهبندیشده) (GET /api/v1/health)
Endpoint
GET /api/v1/health
هدف آزمون
بررسی سلامت سرویس از مسیر versioned برای یکپارچهسازی با سایر سرویسهای Patent Genie.
شرایط آزمون
- سرویس ai-workflow در حال اجرا باشد
- نیازی به احراز هویت نیست
فرآیند آزمون
- ارسال درخواست GET به
/api/v1/health - دریافت پاسخ JSON
- مقایسه ساختار پاسخ با
/health
معرفی ویژگی
همان endpoint سلامت با prefix نسخه API برای همترازی با قرارداد میکروسرویسهای دیگر (مثل core-api و info-extraction).
- همان handler: منطق یکسان با GET /health
- prefix استاندارد: مسیر
/api/v1/... - probe تولید: HEALTHCHECK داکر از این مسیر استفاده میکند
سناریوی آزمون
سناریو 1: مسیر موفق
- ارسال
GET /api/v1/health - دریافت کد 200
- بررسی ساختار HealthResponse
سناریو 2: خطا — کلید API تنظیم نشده
- اجرای سرویس بدون کلید LLM
- ارسال
GET /api/v1/health - دریافت کد 200 با
api_key_configured: false
سناریو 3: یکسان بودن پاسخ مسیرهای سلامت
- ارسال
GET /healthو ذخیره پاسخ - ارسال
GET /api/v1/healthدر همان محیط - بررسی برابری بدنه دو پاسخ
سناریو 4: متد پشتیبانینشده
- ارسال
POST /api/v1/health - دریافت کد 405
- بررسی پیام Method Not Allowed
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| — | — | — | — | بدون پارامتر ورودی |
Swagger
get:
summary: Versioned health check with LLM configuration status
responses:
200:
description: Service status returned
نمونه ورودی
curl -X GET "http://127.0.0.1:8000/api/v1/health" \
-H "Accept: application/json"
نمونه خروجی
{
"status": "ok",
"service": "patent-genie-ai-workflow",
"llm_provider": "avalai",
"sectioned_extraction_model": "gemini-2.5-flash",
"api_key_configured": true
}
Status Codes
- 200: وضعیت سرویس برگردانده شد
نتیجه مورد انتظار
پاسخ یکسان با GET /health با کد 200.
روال صحتسنجی
- بررسی کد 200
- مقایسه پاسخ با GET /health در همان محیط
توضیحات
- در Dockerfile HEALTHCHECK از
/api/v1/healthاستفاده میشود - ATP مرتبط: health (GET /health)