ATP - بررسی سلامت سرویس (نسخهبندیشده) (GET /api/v1/health)
Endpoint
GET /api/v1/health
هدف آزمون
بررسی سلامت سرویس از مسیر versioned برای یکپارچهسازی با سایر سرویسهای Patent Genie.
شرایط آزمون
- سرویس info-extraction در حال اجرا باشد
- نیازی به احراز هویت نیست
فرآیند آزمون
- ارسال درخواست GET به
/api/v1/health - دریافت پاسخ JSON
- مقایسه ساختار پاسخ با
/health
معرفی ویژگی
همان endpoint سلامت با prefix نسخه API برای همترازی با قرارداد میکروسرویسهای دیگر (مثل core-api).
- همان handler: منطق یکسان با GET /health
- prefix استاندارد: مسیر
/api/v1/... - probe تولید: HEALTHCHECK داکر از این مسیر استفاده میکند
سناریوی آزمون
سناریو 1: مسیر موفق
- ارسال
GET /api/v1/health - دریافت کد 200
- بررسی ساختار HealthResponse
سناریو 2: خطا — وابستگی degraded
- در صورت قطع RabbitMQ یا object storage
- ارسال
GET /api/v1/health - دریافت
status: "degraded"
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| — | — | — | — | بدون پارامتر ورودی |
Swagger
get:
summary: Versioned health check with dependency 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",
"rabbitmq": "connected",
"object_storage": "reachable"
}
Status Codes
- 200: وضعیت سرویس برگردانده شد
نتیجه مورد انتظار
پاسخ یکسان با GET /health با کد 200.
روال صحتسنجی
- بررسی کد 200
- مقایسه پاسخ با GET /health در همان محیط
توضیحات
- در Dockerfile HEALTHCHECK از
/api/v1/healthاستفاده میشود - ATP مرتبط: health (GET /health)