67 lines
3.0 KiB
Markdown
67 lines
3.0 KiB
Markdown
# Testing and acceptance
|
||
|
||
## Цель документа
|
||
|
||
Зафиксировать checklist для новой двухслойной схемы.
|
||
|
||
## A. Builder layer tests
|
||
|
||
### Проверяем
|
||
1. builder запускается на Debian 12 amd64 build host
|
||
2. итоговый пакет собирается без target-side шагов
|
||
3. bundled HY2XS admin реально входит в пакет
|
||
4. package metadata / build id присутствуют
|
||
5. compiled Bun/TypeScript orchestrator artifact присутствует
|
||
6. в пакет не попадает build-мусор
|
||
7. builder сам доставляет отсутствующие build-зависимости
|
||
8. builder проверяет версии Go/Bun/Node.js/pnpm
|
||
9. builder пишет версии toolchain в metadata
|
||
|
||
## B. Target install tests
|
||
|
||
### На чистом Debian 12 проверяем
|
||
1. пакет запускается без ручной сборки на сервере
|
||
2. Hysteria2 скачивается с official upstream
|
||
3. bundled HY2XS admin раскладывается локально из пакета
|
||
4. создаются нужные каталоги
|
||
5. создаются systemd unit-файлы
|
||
6. создаётся `post-install.env`
|
||
7. baseline firewall применяется корректно
|
||
8. SSH остаётся доступным
|
||
|
||
## C. Runtime tests
|
||
|
||
1. `hysteria-server` active
|
||
2. `hy2xs-admin` active
|
||
3. UDP-порт слушается
|
||
4. HY2XS admin открывается по ожидаемому admin path
|
||
5. тестовый совместимый клиент подключается
|
||
6. идёт реальный трафик
|
||
7. лимит 50/50 Mbps соблюдается при согласованной клиентской конфигурации
|
||
8. reboot не ломает baseline
|
||
9. Hysteria2 управляется systemd unit, а не внутренним updater'ом admin panel
|
||
|
||
## D. Negative tests
|
||
|
||
1. не Debian 12
|
||
2. порт уже занят
|
||
3. старое конфликтующее состояние уже существует
|
||
4. домен / SNI заданы некорректно
|
||
5. bundled UI отсутствует в пакете
|
||
6. Hysteria upstream недоступен
|
||
7. firewall применился частично
|
||
8. install flow прерван посередине
|
||
|
||
## Acceptance criteria
|
||
|
||
Система принимается, если:
|
||
|
||
1. production builder на Debian 12 amd64 выдаёт переносимый install package
|
||
2. target server не выполняет build step
|
||
3. Hysteria2 получена из official upstream
|
||
4. UI поставлен из bundled fork
|
||
5. `post-install.env` отражает фактическое deploy-состояние
|
||
6. оркестратор зафиксирован как Bun/TypeScript stack и поставляется как готовый install-артефакт
|
||
7. оркестратор не требует update / rollback / uninstall логики
|
||
8. Telegram/access layer не требуется для прохождения install acceptance
|