--- type: test-report work_item_id: ORCH-080 result: PASS --- # Test Report — ORCH-080 Подавление Telegram link-preview (`disable_web_page_preview: True`) в `send_telegram` (`sendMessage`) и `edit_telegram` (`editMessageText`). Сохранены `parse_mode: HTML`, `disable_notification`, never-raise и контракты возврата. ## Окружение - Python: 3.12.13 - pytest: 8.3.3 - Дата: 2026-06-09 - Ветка: `feature/ORCH-080-orch-52g-telegram-link-preview` - Review verdict: APPROVED (`12-review.md`) ## Smoke test API (prod 8500, read-only) | Endpoint | Результат | |----------|-----------| | `GET /health` | `{"status":"ok","service":"orchestrator"}` — OK | | `GET /status` | OK (ORCH-080 = task #62, stage `testing`) | | `GET /queue` | OK (breaker `closed`, preflight_ok, reconcile/reaper enabled) | ## Результаты тестов | TC ID | Описание | Тест(ы) | Результат | |-------|----------|---------|-----------| | TC-01 | `disable_web_page_preview: True` в payload `sendMessage` (AC-1) | `test_send_telegram_disables_link_preview` | PASS | | TC-02 | `disable_web_page_preview: True` в payload `editMessageText` (AC-2) | `test_edit_telegram_disables_link_preview` | PASS | | TC-03 | Регрессия `parse_mode: HTML` в обоих payload (AC-4) | `test_send_telegram_keeps_parse_mode_html`, `test_edit_telegram_keeps_parse_mode_html` | PASS | | TC-04 | Регрессия полей `send_telegram` + проброс `disable_notification` (AC-5) | `test_send_telegram_preserves_existing_fields`, `test_send_telegram_disable_notification_default_false`, `test_edit_telegram_preserves_existing_fields` | PASS | | TC-05 | Контракты возврата (`message_id`/`None`/`EDIT_OK`) (AC-5/AC-6) | `test_send_telegram_returns_message_id`, `test_send_telegram_returns_none_without_creds`, `test_edit_telegram_returns_edit_ok` | PASS | | TC-06 | never-raise → `None`/`EDIT_FAILED` без проброса (AC-6) | `test_send_telegram_never_raises`, `test_edit_telegram_never_raises` | PASS | | TC-07 | Регресс сюиты трекера/уведомлений (bump/edit, ссылки, resilience) | `test_telegram_tracker.py`, `test_tracker_bump.py`, `test_notify_issue_links.py`, `test_resilience.py` (+ `test_link_preview_disabled.py`) — 106 passed | PASS | | TC-08 | Полная регрессия `pytest tests/ -q` (AC-6) | вся сюита — 1058 passed | PASS | ## Покрытие Acceptance Criteria - AC-1 — TC-01 ✅ - AC-2 — TC-02 ✅ - AC-3 (баннер исчез в чате) — ручная верификация на staging (8501) после деплоя; автоматически косвенно покрыто AC-1/AC-2 (payload несёт флаг). Не блокирует тест-гейт. - AC-4 — TC-03 + `test_notify_issue_links.py` зелёный ✅ - AC-5 — TC-04/TC-05 ✅ - AC-6 — TC-06 + полный прогон зелёный ✅ - AC-7 — документация (CHANGELOG/CLAUDE.md/architecture/ADR) проверена на review-стадии ✅ ## Вывод pytest Полная сюита: ``` 1058 passed, 1 warning in 26.61s ``` Целевые файлы ORCH-080 (TC-01..07): ``` 106 passed, 1 warning in 3.24s ``` (`test_link_preview_disabled.py` — 12 passed.) Единственный warning — `PydanticDeprecatedSince20` в `src/config.py:5` (предсуществующий, не связан с ORCH-080). ## Итог **PASS** — все автоматические тесты (TC-01..08) зелёные, smoke API OK, регрессий нет. Задача готова к переходу на стадию `deploy-staging`.