Files
orchestrator/docs/work-items/ORCH-069/13-test-report.md
claude-bot 6cc9eb43bf
All checks were successful
CI / test (push) Successful in 17s
CI / test (pull_request) Successful in 17s
tester(ET): auto-commit from tester run_id=374
2026-06-08 11:18:50 +00:00

4.7 KiB
Raw Blame History

type, work_item_id, result
type work_item_id result
test-report ORCH-069 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 Обратная совместимость: заголовок 81200 проходит при дефолте 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.