5.5 KiB
type, work_item_id, result
| type | work_item_id | result |
|---|---|---|
| test-report | ORCH-044 | PASS |
Test Report — ORCH-044
Надёжность запуска агента: preflight auth (P1) + пустой лог = провал (P3).
P2 (--effort) исключён из scope владельцем (06.06) — вынесен в ORCH-50;
AC-7/AC-8/AC-9 и TC-09/TC-11 (effort) в этой задаче не применяются (N/A).
Окружение
- Python: 3.12.13
- pytest: 8.3.3
- Branch: feature/ORCH-044-preflight-auth-effort
- Дата: 2026-06-06T08:39Z
- Прод-инстанс (8500): не трогался; smoke — read-only GET.
Результаты — Quality Gate тесты (04-test-plan.yaml)
| TC ID | Описание | Тест(ы) | Результат |
|---|---|---|---|
| TC-01 | Нет .credentials.json ⇒ FAIL про auth |
test_missing_credentials_fails |
PASS |
| TC-02 | Протухший OAuth expiresAt ⇒ FAIL |
test_expired_token_fails |
PASS |
| TC-03 | Валидный логин ⇒ OK без регрессии | test_valid_login_ok |
PASS |
| TC-04 | Битый JSON ⇒ FAIL без исключения | test_broken_json_fails_without_raising |
PASS |
| TC-05 | Token-free: нет сетевого вызова | test_auth_check_makes_no_network_call |
PASS |
| TC-06 | Кеширование auth в пределах TTL | test_auth_result_cached_within_ttl |
PASS |
| TC-07 | Путь credentials от HOME агента (/home/slin) | test_credentials_path_follows_agent_home |
PASS |
| TC-08 | Worker не клеймит job при auth-fail | test_worker_does_not_claim_when_auth_fails |
PASS |
| TC-09 | (effort) cmd без --effort |
test_effort_flag.py |
N/A — scope исключён владельцем (ORCH-50) |
| TC-10 | resolve_agent_effort согласован |
test_resolve_agent_effort.py (11 тестов) |
PASS — effort не тронут, тесты зелёные |
| TC-11 | (effort) дефолтный путь даёт непустой JSON | test_effort_flag.py |
N/A — scope исключён владельцем (ORCH-50) |
| TC-12 | Пустой лог + exit0 ⇒ failed + алерт | test_empty_log_exit0_terminal_failed_alerts |
PASS |
| TC-13 | Лог без result-JSON ⇒ провал | test_garbage_log_exit0_not_done |
PASS |
| TC-14 | Провал ⇒ нет advance/успешного коммента | test_empty_result_suppresses_advance_and_comment |
PASS |
| TC-15 | Валидный JSON ⇒ done без регрессии | test_valid_result_done, test_success_advances_and_comments |
PASS |
| TC-16 | Никогда не вечный running |
test_never_running_after_empty_result |
PASS |
| TC-17 | Классификация permanent/transient | test_empty_result_defaults_permanent, ..._with_transient_marker_goes_transient |
PASS |
| TC-18 | Регресс preflight (bin/version) | test_resilience.py::TestPreflight |
PASS |
| TC-19 | Полный pytest tests/ зелёный |
вся сюита | PASS (504 passed) |
Дополнительно покрыто (вне нумерации плана): постфактум auth-маркер
(test_is_auth_failure_text_*, TestAuthMarkerHandling), тумблер
ORCH_PREFLIGHT_CHECK_AUTH (test_auth_toggle_off_skips_check), явный путь
credentials (test_explicit_credentials_path_wins).
Сопоставление с критериями приёмки
- AC-1…AC-6 (preflight auth): PASS — TC-01…TC-08.
- AC-7/AC-8/AC-9 (effort): N/A — исключены владельцем (см. 02-trz.md, 03-acceptance-criteria.md).
- AC-10…AC-14 (пустой результат ⇒ провал): PASS — TC-12…TC-16.
- AC-15 (документация в том же PR): PASS — подтверждено review (APPROVED): README/internals/INFRA/CHANGELOG/ADR обновлены.
- AC-16 (тесты зелёные): PASS — 504 passed.
- AC-17 (self-hosting): PASS — изменения в слое preflight/launch; прод-контейнер не рестартовался; smoke 8500 read-only.
Smoke test API (8500, read-only GET)
| Endpoint | Код | Замечание |
|---|---|---|
| GET /health | 200 | {"status":"ok","service":"orchestrator"} |
| GET /status | 200 | активна задача ORCH-044 (stage=testing) |
| GET /queue | 200 | counts ok (failed=0), preflight_ok=true, breaker=closed |
curl в окружении отсутствует — smoke выполнен через
urllib(эквивалентные GET).
Вывод pytest
======================= 504 passed, 1 warning in 10.82s ========================
Модули плана (детально):
tests/test_preflight_auth.py ......... 18 passed
tests/test_resolve_agent_effort.py ... 11 passed
tests/test_empty_log_failure.py ...... 18 passed
tests/test_resilience.py ............. 31 passed
(итого по модулям плана: 78 passed)
Warning: PydanticDeprecatedSince20 в src/config.py:4 — предсуществующий,
вне scope ORCH-044 (зафиксировано в review как P2/опционально).
Итог
PASS — все применимые тесты плана зелёные, существующая сюита не сломана, smoke API исправен. TC-09/TC-11 (effort) корректно N/A: P2 исключён владельцем и вынесен в ORCH-50. Задача готова к стадии deploy-staging.