ATP - نمایش معماری سرویس (GET /architecture/)
Endpoint
GET /architecture/
هدف آزمون
نمایش مستند زنده معماری با جدول اجزا و نمودارهای Mermaid.
شرایط آزمون
- سرویس info-extraction در حال اجرا باشد
- دسترسی به CDN jsdelivr برای رندر Mermaid (مرورگر)
- نیازی به احراز هویت نیست
فرآیند آزمون
- ارسال درخواست GET به
/architecture/ - دریافت HTML فارسی
- بررسی جدول اجزا و بخشهای platform-boundary، async-path، intake-graph
- بررسی وجود بلوکهای pre.mermaid
معرفی ویژگی
صفحه معماری پیادهسازیشده: مرز سرویس در پلتفرم Patent Genie، قرارداد RabbitMQ، خط لوله LangGraph intake و استقرار Docker Compose.
- جدول اجزا: core-api، info-extraction، worker، RabbitMQ، Object Storage، OCR
- ۵ بخش Mermaid: platform-boundary، async-path، intake-graph، http-path، docker-compose
- مرز مسئولیت: بدون chunking، embedding یا Milvus
- مسیر dev: POST /api/v1/dev/ingest/extract در نمودار http-path
سناریوی آزمون
سناریو 1: مسیر موفق — همه بخشهای معماری
- ارسال
GET /architecture/ - دریافت کد 200
- بررسی عنوان «معماری سرویس استخراج اطلاعات»
- بررسی idهای platform-boundary، intake-graph و document.extraction.requested
- بررسی script بارگذاری mermaid.esm.min.mjs
سناریو 2: خطا — CDN در دسترس نیست
- باز کردن صفحه در محیط بدون دسترسی اینترنت
- مشاهده HTML خام بخشهای Mermaid
- در صورت خطای JS، پیام «خطا در رندر نمودار» نمایش داده میشود
سناریو 3: بررسی جدول اجزای اصلی
- ارسال GET /architecture/
- بررسی وجود info-extraction، extraction-worker و LangGraph intake pipeline در جدول
- بررسی queue: document.extraction.requested در ستون رابط
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| — | — | — | — | بدون پارامتر ورودی |
Swagger
get:
summary: Architecture documentation page (not in OpenAPI)
responses:
200:
description: HTML architecture page returned
نمونه ورودی
curl -X GET "http://127.0.0.1:8000/architecture/" \
-H "Accept: text/html"
نمونه خروجی
<section id="platform-boundary">
<h2>مرز سرویس در پلتفرم</h2>
<pre class="mermaid">flowchart TB ...</pre>
</section>
<section id="intake-graph">...</section>
Status Codes
- 200: صفحه معماری HTML برگردانده شد
نتیجه مورد انتظار
HTML فارسی با جدول اجزا، ۵ section با نمودار Mermaid و یادداشت محدودیت سرویس.
روال صحتسنجی
- بررسی کد 200
- بررسی وجود class="mermaid"
- بررسی متن «بدون chunking» یا «Milvus» در محدودیتها
- بررسی لینک بازگشت به
/
توضیحات
- دادههای صفحه از src/api/architecture/diagrams.py تغذیه میشود
- ATP مرتبط: dev-ingest-extract برای مسیر HTTP همزمان intake
- در info-extraction از کلمه رزرو شده graph بهعنوان id نود Mermaid استفاده نکنید