ATP - بررسی سلامت سرویس (GET /health)
Endpoint
GET /health
هدف آزمون
بررسی وضعیت سرویس استخراج و دسترسی به RabbitMQ و object storage.
شرایط آزمون
- سرویس info-extraction در حال اجرا باشد
- نیازی به احراز هویت نیست
فرآیند آزمون
- ارسال درخواست GET به
/health - دریافت پاسخ JSON
- بررسی فیلدهای status، service، rabbitmq و object_storage
معرفی ویژگی
endpoint سلامت برای probeهای Docker/Kubernetes و مانیتورینگ عملیاتی. وضعیت وابستگیهای RabbitMQ و object storage را گزارش میکند.
- بدون auth: عمومی و بدون توکن
- وضعیت degraded: اگر RabbitMQ یا object storage در دسترس نباشد، status برابر degraded میشود
- مسیر آینه: همان handler روی
/api/v1/healthنیز ثبت شده است
سناریوی آزمون
سناریو 1: مسیر موفق — سرویس و وابستگیها سالم
- ارسال
GET /health - دریافت کد 200
- بررسی
status: "ok"وservice: "patent-genie-ai" - بررسی عدم پیشوند
error:در rabbitmq و object_storage
سناریو 2: خطا — وابستگی در دسترس نیست
- قطع اتصال RabbitMQ یا object storage
- ارسال
GET /health - دریافت کد 200 با
status: "degraded" - بررسی مقدار
error:در فیلد وابستگی ناموفق
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| — | — | — | — | بدون پارامتر ورودی |
Swagger
get:
summary: Health check with dependency status
responses:
200:
description: Service status returned
نمونه ورودی
curl -X GET "http://127.0.0.1:8000/health" \
-H "Accept: application/json"
نمونه خروجی
{
"status": "ok",
"service": "patent-genie-ai",
"rabbitmq": "connected",
"object_storage": "reachable"
}
Status Codes
- 200: وضعیت سرویس و وابستگیها برگردانده شد
نتیجه مورد انتظار
پاسخ JSON با فیلدهای status، service، rabbitmq و object_storage و کد HTTP 200. در صورت خطای وابستگی، status برابر degraded است.
روال صحتسنجی
- بررسی کد وضعیت 200
- بررسی فیلد service برابر "patent-genie-ai"
- بررسی وجود فیلدهای rabbitmq و object_storage
- در محیط سالم، status باید ok باشد
توضیحات
- مسیر
/api/v1/healthهمان رفتار را دارد (ATP جداگانه) - در production فقط health در دسترس است؛ ingest dev ثبت نمیشود