بازگشت به فهرست ATP →
سلامت سرویس

بررسی زنده بودن سرویس

GET /api/health/ مشاهده در Swagger

ATP - بررسی زنده بودن سرویس (GET /api/health/)

Endpoint

GET /api/health/

هدف آزمون

بررسی اینکه فرآیند API در حال اجرا است.

شرایط آزمون

  • سرویس core-api در حال اجرا باشد

فرآیند آزمون

  1. ارسال درخواست GET به /api/health/
  2. دریافت پاسخ HTTP
  3. بررسی کد وضعیت و بدنه JSON

معرفی ویژگی

endpoint liveness برای orchestration و مانیتورینگ.

  • بدون وابستگی: PostgreSQL/Redis لازم نیست
  • بدون auth: عمومی

سناریوی آزمون

سناریو 1: مسیر موفق

  1. ارسال GET /api/health/
  2. دریافت پاسخ موفق
  3. بررسی ساختار پاسخ

سناریو 2: خطا - درخواست نامعتبر

  1. ارسال درخواست با داده یا شناسه نامعتبر
  2. دریافت کد خطای 4xx
  3. بررسی پیام خطای استاندارد API

سناریو 3: probe تکراری

  1. ارسال چند درخواست متوالی GET /api/health/
  2. بررسی پاسخ 200 پایدار
  3. بررسی عدم نیاز به auth

سناریو 4: متد پشتیبانی‌نشده

  1. ارسال POST /api/health/
  2. دریافت کد 405
  3. بررسی عدم اجرای منطق 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.

روال صحت‌سنجی

  1. بررسی 200
  2. بررسی status="ok"

توضیحات

  • برای readiness از /api/ready/ استفاده کنید (Postgres + Redis)
  • برای messaging از /api/messaging/health/ و /api/messaging/metrics/ استفاده کنید
  • قطع موقت RabbitMQ نباید /api/ready/ را 503 کند