Files
orchestrator/docs/work-items/ORCH-017/13-test-report.md
claude-bot 950a86e4d8
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 17s
tester(ET): auto-commit from tester run_id=118
2026-06-05 18:20:16 +00:00

5.6 KiB
Raw Permalink Blame History

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

Test Report — ORCH-017

Прямые ссылки на BRD и Plane-таску в Telegram-уведомлении об апруве BRD. Вердикт review (12-review.md): APPROVED ✔ — прогон регресса допущен.

Окружение

  • Python: 3.12.13
  • pytest: 8.3.3 (pytest-asyncio 0.23.8, anyio 4.13.0)
  • Дата: 2026-06-05
  • Ветка: feature/ORCH-017-brd-plane-telegram
  • Прод-контейнер orchestrator (8500) НЕ перезапускался; smoke — только read-only GET.

Smoke test API (prod, read-only)

Endpoint HTTP Результат
GET /health 200 {"status":"ok","service":"orchestrator"} — PASS
GET /status 200 active_tasks содержит task #35 ORCH-017 (stage=testing) — PASS
GET /queue 200 counts running=1, failed=0, breaker=closed, preflight ok — PASS

curl в окружении отсутствует — smoke выполнен через urllib.request (GET, без побочных эффектов).

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

TC ID Описание Тест Результат
TC-01 BRD-ссылка на 01-brd.md (Gitea branch-view) test_notify_approve_links::test_tc01_brd_link_present PASS
TC-02 Plane-ссылка (web-URL+workspace+project+issue_id) …::test_tc02_plane_link_present PASS
TC-03 Фоллбэки URL (gitea_public_url→gitea_url, plane_web_url→plane_api_url) …::test_tc03_url_fallbacks PASS
TC-04 Сохранён призыв «Approved» …::test_tc04_keeps_approved_call_to_action PASS
TC-05 Ровно одно пингующее сообщение (не silent) …::test_tc05_single_notifying_message PASS
TC-06 Graceful: branch/issue=None — без исключения …::test_tc06_graceful_missing_branch_and_issue PASS
TC-07 Пустой Plane-base → Plane-ссылка опущена, BRD остаётся …::test_tc07_plane_base_empty_drops_plane_link_keeps_brd PASS
TC-07b Loopback Plane-base отбрасывается (доп.) …::test_tc07b_loopback_plane_base_dropped PASS
TC-08 parse_mode=HTML, html.escape, валидная разметка …::test_tc08_html_escaped_and_valid_markup PASS
TC-08b send_telegram сохраняет parse_mode=HTML (доп.) …::test_tc08b_send_telegram_keeps_parse_mode_html PASS
TC-09 Регрессия трекера (silent edit, без дублей) test_telegram_tracker.py (полный набор) PASS
TC-10 Поток analysis-approved строит ссылки из БД test_analysis_approve_flow_links::test_tc10_approved_flow_builds_links_from_db PASS
TC-11 (Условный) inline-кнопки N/A — вариант кнопок отклонён (ADR-001 Р-1)
TC-12 (Условный) обратная совместимость send_telegram c reply_markup N/A — вариант кнопок отклонён (ADR-001 Р-1)

Все запланированные тесты (TC-01…TC-10) — PASS. Условные TC-11/TC-12 не применимы: ADR-001 (Р-1) зафиксировал HTML-ссылки в тексте без изменения сигнатуры send_telegram.

Покрытие критериев приёмки (03-acceptance-criteria.md)

AC Покрывающие TC Статус
AC-1 TC-01, TC-10 PASS
AC-2 TC-02, TC-10 PASS
AC-3 TC-01, TC-02, TC-03 PASS
AC-4 TC-04 PASS
AC-5 TC-05, TC-09 PASS
AC-6 TC-06, TC-07, TC-07b PASS
AC-7 TC-08, TC-08b PASS
AC-8 TC-09, TC-10 PASS
AC-9 проверено review (CHANGELOG/.env.example/INFRA.md/ADR) PASS
AC-10 полный регресс pytest tests/ PASS

Вывод pytest

Целевые тесты ORCH-017

tests/test_notify_approve_links.py::test_tc01_brd_link_present PASSED
tests/test_notify_approve_links.py::test_tc02_plane_link_present PASSED
tests/test_notify_approve_links.py::test_tc03_url_fallbacks PASSED
tests/test_notify_approve_links.py::test_tc04_keeps_approved_call_to_action PASSED
tests/test_notify_approve_links.py::test_tc05_single_notifying_message PASSED
tests/test_notify_approve_links.py::test_tc06_graceful_missing_branch_and_issue PASSED
tests/test_notify_approve_links.py::test_tc07_plane_base_empty_drops_plane_link_keeps_brd PASSED
tests/test_notify_approve_links.py::test_tc07b_loopback_plane_base_dropped PASSED
tests/test_notify_approve_links.py::test_tc08_html_escaped_and_valid_markup PASSED
tests/test_notify_approve_links.py::test_tc08b_send_telegram_keeps_parse_mode_html PASSED
tests/test_analysis_approve_flow_links.py::test_tc10_approved_flow_builds_links_from_db PASSED
11 passed in 0.53s

Полный регресс

======================== 434 passed, 1 warning in 7.99s ========================

Единственное предупреждение — PydanticDeprecatedSince20 (src/config.py:4, class-based config), предсуществующее, к ORCH-017 не относится, на результат не влияет.

Итог

PASS — 434/434 теста зелёные, целевые TC-01…TC-10 пройдены, все 10 критериев приёмки покрыты, smoke API прод-инстанса OK. Задача готова к стадии deploy-staging.