ATP - کاتالوگ capabilityها (GET /api/v1/capabilities/)
Endpoint
GET /api/v1/capabilities/
هدف آزمون
لیست تعاریف capability برای admin/internal tooling.
شرایط آزمون
- کاربر احراز هویتشده با نقش admin (is_staff)
فرآیند آزمون
- ارسال درخواست GET به
/api/v1/capabilities/ - دریافت پاسخ HTTP
- بررسی کد وضعیت و بدنه JSON
معرفی ویژگی
کاتالوگ read-only قابلیتهای ماژولار؛ برای tooling و مستندسازی داخلی.
- ورودی معتبر: اعتبارسنجی در مرز API
- پاسخ استاندارد: قالب JSON یکسان با سایر endpointها
- کنترل دسترسی: مطابق policy ماژول مربوطه
سناریوی آزمون
سناریو 1: مسیر موفق
- ارسال
GET /api/v1/capabilities/ - دریافت پاسخ موفق
- بررسی ساختار پاسخ
سناریو 2: خطا - درخواست نامعتبر
- ارسال درخواست با داده یا شناسه نامعتبر
- دریافت کد خطای 4xx
- بررسی پیام خطای استاندارد API
سناریو 3: مسیر موفق — admin
- ورود با کاربر is_staff
- GET /api/v1/capabilities/
- دریافت 200 با data.items
- بررسی فیلدهای key و module_key در هر item
سناریو 4: خطا — کاربر غیر admin
- ورود با کاربر عادی
- GET capabilities
- دریافت 403
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| — | — | — | — | بدون پارامتر ورودی |
Swagger
get:
summary: کاتالوگ capabilityها
responses:
200:
description: عملیات موفق
401:
description: احراز هویت نامعتبر یا ناقص
نمونه ورودی
curl -X GET "http://localhost:8000/api/v1/capabilities/" \
-H "Authorization: Bearer <access>" \
-H "Content-Type: application/json"
نمونه خروجی
{
"success": true,
"data": {
"items": [
{ "key": "upload_source_documents", "module_key": "information_collection", "name": "..." }
]
}
}
Status Codes
- 200: عملیات موفق
- 401: احراز هویت نامعتبر یا ناقص
نتیجه مورد انتظار
در صورت موفقیت، پاسخ JSON استاندارد با کد وضعیت مناسب برای GET برگردانده میشود.
روال صحتسنجی
- بررسی کد وضعیت HTTP
- بررسی فیلد success در بدنه
- بررسی عدم افشای داده حساس
توضیحات
- فقط IsAdminUser
- ADR-0011