Files
orchestrator/docs/work-items/ORCH-067/13-test-report.md
claude-bot c991b9de1a
All checks were successful
CI / test (push) Successful in 27s
CI / test (pull_request) Successful in 24s
tester(ET): auto-commit from tester run_id=367
2026-06-08 10:34:33 +00:00

4.8 KiB
Raw Permalink Blame History

type, work_item_id, result
type work_item_id result
test-report ORCH-067 PASS

Test Report — ORCH-067

Telegram tracker: bump по умолчанию, статус-строка карточки по модели Plane (ORCH-066), кликабельный номер задачи в карточке и во всех уведомлениях орка.

Окружение

  • Python: 3.12.13
  • pytest: 8.3.3
  • Ветка: feature/ORCH-067-telegram-tracker-bump-plane (worktree)
  • Дата: 2026-06-08
  • Review-вердикт: APPROVED (12-review.md, version 2)

Smoke test API (prod, :8500)

Endpoint Результат
GET /health PASS — {"status":"ok","service":"orchestrator"}
GET /status PASS — отдаёт active_tasks (ORCH-067 на stage=testing)
GET /queue PASS — breaker closed, preflight_ok, counts корректны

Прод-контейнер не перезапускался (self-hosting инвариант соблюдён).

Результаты по тест-плану (04-test-plan.yaml)

TC ID Описание Модуль AC Результат
TC-01 Дефолт tracker_mode == "bump" без env test_tracker_bump_default.py AC-1 PASS
TC-02 bump: delete(old)→send(silent)→repoint, одна карточка test_tracker_bump_default.py AC-2 PASS
TC-03 bump fail-safe: send=None не обнуляет указатель test_tracker_bump_default.py AC-3 PASS
TC-04 ORCH_TRACKER_MODE=edit — прежнее поведение test_tracker_bump_default.py AC-4 PASS
TC-05 Карточка содержит строку Plane-статуса test_tracker_status_line.py AC-5 PASS
TC-06 Маппинг stage → Plane-статус (§2.2, параметризованный) test_tracker_status_line.py AC-6 PASS
TC-07 In Review из brd-clock, без сети; строка «Подтверждение BRD» сохранена test_tracker_status_line.py AC-7 PASS
TC-08 Awaiting Deploy + Needs Input отражены test_tracker_status_line.py AC-8 PASS
TC-09 render_task_tracker не падает на битых данных test_tracker_status_line.py AC-9, AC-16 PASS
TC-10 Кликабельный номер в карточке при полных данных test_tracker_issue_link.py AC-10 PASS
TC-11 Fail-safe ссылки в карточке (параметризованный) test_tracker_issue_link.py AC-11 PASS
TC-12 plane_issue_link(...) — ссылка/escape, никогда не бросает test_plane_issue_link.py AC-12 PASS
TC-13 notify_approve_requested: номер кликабелен, одна нотификация test_notify_issue_links.py AC-13 PASS
TC-14 notify_error: кликабелен/деградирует без падения test_notify_issue_links.py AC-13, AC-12 PASS
TC-15 Точки send_telegram (stage_engine/launcher/merge_gate/job_reaper/security_gate/reconciler/main) используют хелпер test_notify_issue_links.py AC-13 PASS
TC-16 HTML-экранирование title/&, валидность <a> test_tracker_issue_link.py AC-14 PASS
TC-17 Инварианты транспорта: disable_notification, одна карточка test_tracker_bump_default.py AC-15 PASS
TC-18 Нерегресс нотификаций + деградация для enduro-trails test_notify_done_regression.py AC-16, AC-17 PASS

Все 18 TC из тест-плана — PASS. Целевые модули: 57 passed.

Покрытие acceptance criteria

AC-1..AC-18 — все покрыты соответствующими TC и зелёные. AC-17 (полный набор) подтверждён прогоном всего пакета.

Вывод pytest (полный регресс)

$ python -m pytest tests/ -v --tb=short
...
======================= 907 passed, 1 warning in 22.36s ========================

Единственный warning — пре-существующий PydanticDeprecatedSince20 в src/config.py:4 (не относится к ORCH-067, не регресс).

Целевые модули задачи:

$ python -m pytest tests/test_tracker_bump_default.py tests/test_tracker_status_line.py \
    tests/test_tracker_issue_link.py tests/test_plane_issue_link.py \
    tests/test_notify_issue_links.py tests/test_notify_done_regression.py -q
57 passed, 1 warning in 1.39s

Итог

PASS — 907/907 тестов зелёные, все 18 TC и AC-1..AC-18 выполнены, smoke API OK, нерегресс для enduro-trails подтверждён. Задача готова к переходу на deploy-staging.