Files
orchestrator/docs/work-items/ORCH-040/04-test-plan.yaml
claude-bot 8e91c8c23c
All checks were successful
CI / test (push) Successful in 14s
analyst(ET): auto-commit from analyst run_id=174
2026-06-06 14:49:21 +00:00

82 lines
3.4 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
work_item: ORCH-040
description: >
Инфра-фикс: контейнер/агенты не плодят root-файлы в хостовом репо.
Часть проверок автоматизируема через pytest (валидация compose-конфига),
часть — обязательные ops/integration проверки на staging и хосте (manual),
т.к. касаются прав файловой системы хоста и рантайма docker.
tests:
# --- Автоматизируемые (pytest, парсинг docker-compose.yml) ---
- id: TC-01
type: unit
description: >
docker-compose.yml: оба сервиса (orchestrator, orchestrator-staging)
имеют user: "1000:1000" (при выборе Варианта 1).
module: tests/test_orch040_compose.py
expected: PASS
- id: TC-02
type: unit
description: >
docker-compose.yml: оба сервиса сохраняют group_add со значением "999"
(доступ к docker.sock не потерян — МИНА 1).
module: tests/test_orch040_compose.py
expected: PASS
- id: TC-03
type: unit
description: >
docker-compose.yml: SSH-маунт согласован с HOME агента — target каталога
.ssh лежит под /home/slin (а не /root/.ssh), для обоих сервисов.
module: tests/test_orch040_compose.py
expected: PASS
- id: TC-04
type: unit
description: >
launcher: HOME, форсимый в окружении агента и git_env, указывает на каталог,
совместимый с SSH/claude-маунтами (/home/slin) — нет рассинхрона HOME vs uid.
module: tests/test_orch040_compose.py
expected: PASS
# --- Регресс существующего поведения ---
- id: TC-05
type: unit
description: >
Весь существующий набор тестов зелёный (нет регресса логики конвейера/launcher).
module: tests/ # pytest tests/ -q
expected: PASS
# --- Integration / ops (staging 8501, затем хост) ---
- id: TC-06
type: integration
description: >
На staging (8501) прогнать тестовую задачу конвейером end-to-end; артефакты
worktree и docs создаются под 1000:1000 (НЕ root:root). Проверка AC-1.
module: scripts/staging_check.py # + ls -ld на хосте
expected: PASS
- id: TC-07
type: integration
description: >
После staging-прогона на хосте под slin: git -C /home/slin/repos/orchestrator
pull/status/reset без Permission denied. Проверка AC-2.
module: manual/host-check
expected: PASS
- id: TC-08
type: integration
description: >
claude preflight/auth проходит под новым uid: агент стартует и завершается
exit_code=0 (creds /home/slin/.claude читаются). Проверка AC-3 (МИНА 2).
module: manual/staging-agent-run
expected: PASS
- id: TC-09
type: integration
description: >
docker.sock доступен из контейнера под uid 1000 (docker ps работает) и
ssh-деплой-хук выполняется. Проверка AC-4, AC-5 (МИНА 1 + SSH).
module: manual/staging-deploy-path
expected: PASS