tester(ET): auto-commit from tester run_id=374
This commit is contained in:
80
docs/work-items/ORCH-069/13-test-report.md
Normal file
80
docs/work-items/ORCH-069/13-test-report.md
Normal file
@@ -0,0 +1,80 @@
|
||||
---
|
||||
type: test-report
|
||||
work_item_id: ORCH-069
|
||||
result: PASS
|
||||
---
|
||||
|
||||
# Test Report — ORCH-069
|
||||
|
||||
QG-0 title-лимит → конфигурируемый параметр `ORCH_QG0_TITLE_MAX` (дефолт 200).
|
||||
|
||||
## Окружение
|
||||
- Python: 3.12.13
|
||||
- pytest: 8.3.3
|
||||
- Ветка: `feature/ORCH-069-qg-0-title-orch-qg0-title-max-`
|
||||
- Дата: 2026-06-08
|
||||
|
||||
## Smoke test API (prod, read-only)
|
||||
| Endpoint | Результат |
|
||||
|----------|-----------|
|
||||
| `GET /health` | PASS — `{"status":"ok","service":"orchestrator"}` |
|
||||
| `GET /status` | PASS — отдаёт активные задачи (ORCH-069 виден, stage=testing) |
|
||||
| `GET /queue` | PASS — counts/resilience/reconcile/reaper/post_deploy в норме (breaker closed, preflight_ok) |
|
||||
|
||||
## Результаты (по test-plan 04-test-plan.yaml)
|
||||
|
||||
| TC ID | Описание | Покрывает | Результат |
|
||||
|-------|----------|-----------|-----------|
|
||||
| TC-01 | Дефолт 200: заголовок 200 символов → нет ошибки длины (граница PASS) | AC-1 | PASS |
|
||||
| TC-02 | Дефолт 200: заголовок 201 → ошибка длины, текст упоминает «200» | AC-1 | PASS |
|
||||
| TC-03 | Лимит 120: заголовок 120 → нет ошибки длины | AC-2 | PASS |
|
||||
| TC-04 | Лимит 120: заголовок 121 → ошибка длины, текст «120» (не «80») | AC-2 | PASS |
|
||||
| TC-05 | Graceful: `ORCH_QG0_TITLE_MAX=abc` → Settings() не падает, лимит 200 | AC-3 | PASS |
|
||||
| TC-06 | Graceful: пустая строка env → дефолт 200 без исключения | AC-3 | PASS |
|
||||
| TC-07 | Корректное env `150` → применяется значение 150 (sanity) | AC-2, AC-3 | PASS |
|
||||
| TC-08 | Нижний лимит title не сломан: < 5 символов → «Title слишком короткий» | AC-4 | PASS |
|
||||
| TC-09 | Лимит description не сломан: < 20 символов → «Description слишком короткий» | AC-4 | PASS |
|
||||
| TC-10 | Обратная совместимость: заголовок 81–200 проходит при дефолте | AC-7 | PASS |
|
||||
| TC-11 | Полный набор тестов зелёный (регрессия не внесена) | AC-5 | PASS |
|
||||
|
||||
## Сопоставление с критериями приёмки (03-acceptance-criteria.md)
|
||||
- AC-1 (дефолт 200, граница 201, текст «200») — TC-01/TC-02 — PASS
|
||||
- AC-2 (лимит 120, граница 121, текст «120») — TC-03/TC-04/TC-07 — PASS
|
||||
- AC-3 (graceful пустое/нечисловое → 200 без краха) — TC-05/TC-06/TC-07 — PASS
|
||||
- AC-4 (нижние лимиты title<5 / desc<20) — TC-08/TC-09 — PASS
|
||||
- AC-5 (pytest зелёный) — TC-11 (757 passed) — PASS
|
||||
- AC-6 (документация в том же PR) — подтверждено reviewer (`12-review.md` APPROVED) — PASS
|
||||
- AC-7 (обратная совместимость ≤80) — TC-10 — PASS
|
||||
- AC-8 (изоляция изменений: STAGE_TRANSITIONS/QG_CHECKS/БД/slug не тронуты) — подтверждено reviewer — PASS
|
||||
|
||||
## Вывод pytest
|
||||
|
||||
Целевой набор ORCH-069 (`tests/test_qg0_title_limit.py`):
|
||||
```
|
||||
collected 10 items
|
||||
|
||||
tests/test_qg0_title_limit.py::test_tc01_default_limit_200_boundary_pass PASSED [ 10%]
|
||||
tests/test_qg0_title_limit.py::test_tc02_default_limit_200_boundary_fail PASSED [ 20%]
|
||||
tests/test_qg0_title_limit.py::test_tc03_custom_limit_120_boundary_pass PASSED [ 30%]
|
||||
tests/test_qg0_title_limit.py::test_tc04_custom_limit_120_boundary_fail PASSED [ 40%]
|
||||
tests/test_qg0_title_limit.py::test_tc05_graceful_non_numeric_env PASSED [ 50%]
|
||||
tests/test_qg0_title_limit.py::test_tc06_graceful_empty_env PASSED [ 60%]
|
||||
tests/test_qg0_title_limit.py::test_tc07_valid_numeric_env PASSED [ 70%]
|
||||
tests/test_qg0_title_limit.py::test_tc08_short_title_still_errors PASSED [ 80%]
|
||||
tests/test_qg0_title_limit.py::test_tc09_short_description_still_errors PASSED [ 90%]
|
||||
tests/test_qg0_title_limit.py::test_tc10_backward_compat_titles_81_to_200 PASSED [100%]
|
||||
|
||||
======================== 10 passed, 1 warning in 0.32s =========================
|
||||
```
|
||||
|
||||
Полный регресс (`pytest tests/ -q`):
|
||||
```
|
||||
757 passed, 1 warning in 15.37s
|
||||
```
|
||||
|
||||
(Единственный warning — PydanticDeprecatedSince20 о class-based config в `src/config.py`,
|
||||
предсуществующий, не связан с ORCH-069, на результат не влияет.)
|
||||
|
||||
## Итог
|
||||
**PASS** — все 11 тест-кейсов зелёные (757 passed в полном наборе), smoke API в норме,
|
||||
все критерии приёмки AC-1…AC-8 покрыты. Задача готова к стадии deploy-staging.
|
||||
Reference in New Issue
Block a user