analyst(ET): auto-commit from analyst run_id=333
This commit is contained in:
109
docs/work-items/ORCH-059/04-test-plan.yaml
Normal file
109
docs/work-items/ORCH-059/04-test-plan.yaml
Normal file
@@ -0,0 +1,109 @@
|
||||
work_item: ORCH-059
|
||||
title: Approve прод-деплоя через выделенный статус «Confirm Deploy»
|
||||
repo: orchestrator
|
||||
stage: analysis
|
||||
|
||||
# Контракт-тесты: триггер прод-деплоя смещается с перегруженного `Approved`
|
||||
# на выделенный статус `Confirm Deploy`. Деплой и сетевые вызовы мокаются.
|
||||
tests:
|
||||
- id: TC-01
|
||||
type: unit
|
||||
description: "_PLANE_NAME_TO_KEY содержит маппинг 'Confirm Deploy' -> 'confirm_deploy'"
|
||||
module: tests/test_plane_states.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-02
|
||||
type: unit
|
||||
description: >-
|
||||
get_project_states для проекта ORCH (мок API со статусом 'Confirm Deploy')
|
||||
возвращает непустой UUID под ключом 'confirm_deploy', отличный от 'approved'
|
||||
module: tests/test_plane_states.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-03
|
||||
type: unit
|
||||
description: >-
|
||||
Fail-closed: при отсутствии статуса 'Confirm Deploy' (fallback _DEFAULT_STATES /
|
||||
недоступный API) доступ к ключу confirm_deploy не выбрасывает исключение
|
||||
и не активирует ветку confirm-deploy
|
||||
module: tests/test_plane_states.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-04
|
||||
type: unit
|
||||
description: >-
|
||||
handle_issue_updated: статус 'Confirm Deploy' на задаче стадии deploy
|
||||
маршрутизируется на путь Фазы B (а не на обычный approve/advance)
|
||||
module: tests/test_plane_confirm_deploy.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-05
|
||||
type: unit
|
||||
description: >-
|
||||
handle_verdict/Approved на стадии deploy НЕ вызывает self_deploy.initiate_deploy
|
||||
(initiate_deploy замокан и не должен быть вызван)
|
||||
module: tests/test_plane_confirm_deploy.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-06
|
||||
type: unit
|
||||
description: >-
|
||||
Approved на стадии analysis по-прежнему продвигает analysis -> architecture
|
||||
(approved-via-status, регрессия гейта check_analysis_approved)
|
||||
module: tests/test_plane_confirm_deploy.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-07
|
||||
type: unit
|
||||
description: >-
|
||||
stage_engine: блок Фазы B (current_stage==deploy, finished_agent is None)
|
||||
инициирует deploy ТОЛЬКО по сигналу confirm-deploy; Approved-сигнал -> no-op
|
||||
module: tests/test_stage_engine_phase_b.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-08
|
||||
type: unit
|
||||
description: >-
|
||||
Идемпотентность: при существующем маркере 'initiated' повторный
|
||||
Confirm Deploy не вызывает initiate_deploy (self-deploy-already-initiated)
|
||||
module: tests/test_stage_engine_phase_b.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-09
|
||||
type: unit
|
||||
description: >-
|
||||
CTA Фазы A (_handle_self_deploy_phase_a): текст Plane-комментария и Telegram
|
||||
содержат 'Confirm Deploy' и не предлагают 'Approved' как триггер деплоя
|
||||
module: tests/test_stage_engine_phase_a_cta.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-10
|
||||
type: integration
|
||||
description: >-
|
||||
E2E (мок Plane API + self_deploy): задача на deploy -> webhook Confirm Deploy
|
||||
-> initiate_deploy вызван, deploy-finalizer поставлен, маркер initiated записан
|
||||
module: tests/test_confirm_deploy_integration.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-11
|
||||
type: integration
|
||||
description: >-
|
||||
E2E: задача на deploy -> webhook Approved -> прод-деплой НЕ инициирован,
|
||||
задача остаётся на deploy (нет отката, нет advance в done)
|
||||
module: tests/test_confirm_deploy_integration.py
|
||||
expected: PASS
|
||||
|
||||
- id: TC-12
|
||||
type: integration
|
||||
description: >-
|
||||
Условность: для не-self репозитория verdict-статусы на deploy не меняют
|
||||
поведение деплоя (self_deploy_applies == False)
|
||||
module: tests/test_confirm_deploy_integration.py
|
||||
expected: PASS
|
||||
|
||||
regression:
|
||||
- id: RG-01
|
||||
type: integration
|
||||
description: "pytest tests/ -q зелёный; STAGE_TRANSITIONS и QG_CHECKS без изменений"
|
||||
module: tests/
|
||||
expected: PASS
|
||||
Reference in New Issue
Block a user