بازگشت به فهرست ATP →
اجرای گردش‌کار

لغو اجرا

POST /api/v1/workflow-runs/{workflow_run_id}/cancel/ مشاهده در Swagger

ATP - لغو اجرا (POST /api/v1/workflow-runs/{workflow_run_id}/cancel/)

Endpoint

POST /api/v1/workflow-runs/{workflow_run_id}/cancel/

هدف آزمون

لغو run در وضعیت running.

شرایط آزمون

  • سرویس core-api در حال اجرا باشد
  • هدر Authorization با access token معتبر

فرآیند آزمون

  1. GET detail و تأیید status=running
  2. POST cancel
  3. بررسی status=cancelled
  4. بررسی stepهای ناتمام failed/cancelled

معرفی ویژگی

این endpoint عملیات «لغو اجرا» را در API Patent Genie انجام می‌دهد.

  • ورودی معتبر: اعتبارسنجی در مرز API
  • پاسخ استاندارد: قالب JSON یکسان با سایر endpointها
  • کنترل دسترسی: مطابق policy ماژول مربوطه

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

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

  1. ارسال POST /api/v1/workflow-runs/{workflow_run_id}/cancel/
  2. دریافت پاسخ موفق
  3. بررسی ساختار پاسخ

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

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

سناریو 3: لغو موفق

  1. run running
  2. POST cancel
  3. 200
  4. status=cancelled

سناریو 4: لغو run تمام‌شده

  1. run completed
  2. POST cancel
  3. 400

قالب API

مولفه نوع نوع داده اجباری توضیحات
workflow_run_id Path uuid بله شناسه اجرای گردش‌کار

Swagger

post:
  summary: لغو اجرا
  responses:
    201:
      description: منبع ایجاد شد
    400:
      description: داده ورودی نامعتبر
    401:
      description: احراز هویت نامعتبر

نمونه ورودی

curl -X POST "http://localhost:8000/api/v1/workflow-runs/{workflow_run_id}/cancel/" \
  -H "Authorization: Bearer <access>" \
  -H "Content-Type: application/json"

نمونه خروجی

{
  "success": true,
  "data": {}
}

Status Codes

  • 201: منبع ایجاد شد
  • 400: داده ورودی نامعتبر
  • 401: احراز هویت نامعتبر

نتیجه مورد انتظار

در صورت موفقیت، پاسخ JSON استاندارد با کد وضعیت مناسب برای POST برگردانده می‌شود.

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

  1. بررسی کد وضعیت HTTP
  2. بررسی فیلد success در بدنه
  3. بررسی عدم افشای داده حساس

توضیحات

  • مسیر باید با پیاده‌سازی فعلی urls.py هم‌خوان باشد