ATP - بررسی زنده بودن سرویس (GET /api/health/)
Endpoint
GET /api/health/
هدف آزمون
بررسی اینکه فرآیند API در حال اجرا است.
شرایط آزمون
- سرویس core-api در حال اجرا باشد
فرآیند آزمون
- ارسال درخواست GET به
/api/health/ - دریافت پاسخ HTTP
- بررسی کد وضعیت و بدنه JSON
معرفی ویژگی
endpoint liveness برای orchestration و مانیتورینگ.
- بدون وابستگی: PostgreSQL/Redis لازم نیست
- بدون auth: عمومی
سناریوی آزمون
سناریو 1: مسیر موفق
- ارسال
GET /api/health/ - دریافت پاسخ موفق
- بررسی ساختار پاسخ
سناریو 2: خطا - درخواست نامعتبر
- ارسال درخواست با داده یا شناسه نامعتبر
- دریافت کد خطای 4xx
- بررسی پیام خطای استاندارد API
سناریو 3: probe تکراری
- ارسال چند درخواست متوالی GET /api/health/
- بررسی پاسخ 200 پایدار
- بررسی عدم نیاز به auth
سناریو 4: متد پشتیبانینشده
- ارسال POST /api/health/
- دریافت کد 405
- بررسی عدم اجرای منطق business
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| — | — | — | — | بدون پارامتر ورودی |
Swagger
get:
summary: بررسی زنده بودن سرویس
responses:
200:
description: عملیات موفق
401:
description: احراز هویت نامعتبر یا ناقص
نمونه ورودی
curl -X GET "http://localhost:8000/api/health/" \
-H "Content-Type: application/json"
نمونه خروجی
{
"status": "ok"
}
Status Codes
- 200: فرآیند API در حال اجرا است
نتیجه مورد انتظار
پاسخ status: ok با کد 200.
روال صحتسنجی
- بررسی 200
- بررسی status="ok"
توضیحات
- برای readiness از /api/ready/ استفاده کنید (Postgres + Redis)
- برای messaging از /api/messaging/health/ و /api/messaging/metrics/ استفاده کنید
- قطع موقت RabbitMQ نباید /api/ready/ را 503 کند