5fa6ea6ab1
Реализован внутренний робот-эмулятор в internal/nsdadapter/mock/robot.go.
Источник правил: DOC/instruktsiya-po-testirovaniyu-s-robotom.pdf (от
12.05.2026). Когда mock.Sender видит Header.ReceiverCode == MC0012500000
и DocumentSeries в {1111, 2001, 2002, 3333} — формирует Decision по
выбранному сценарию вместо default-логики.
Сценарии:
- 1111 «Ответ с отказом»: все бумаги Rejection, код ошибки берётся из
последних 2 символов DocumentNumber (01..09 → M2M01..M2M09)
- 2001 «Принять все бумаги»: все Confirmation; i-й символ DocumentNumber
= номер депозитария-получателя для i-й секции (1/2)
- 2002 «Принять частично»: 0 = отклонить с M2M05, иначе номер депозитария
- 3333 «Выступить принимающей стороной»: пока только первое сообщение
(отказ M2M05). Встречный M2MTransferRequest от робота — TODO
(требует приёмной стороны bj-server)
Тестовые наборы депозитариев (ИНН 7702165310, depcode MC0012500000,
счёт HL2603250011, разделы 31MC0012500000F00 и 36MC0012500000F00)
зашиты в robotDepositary — соответствуют таблице из инструкции.
Help-страница /admin/help/robot с полным описанием: коды робота,
сценарии, управление через DocumentNumber, тестовые данные, коды ошибок
M2M01-M2M09, как переключиться на реальный TEST3 после получения ИШ.
REPORT.md — сводный отчёт для руководства о ходе работ: ~65% общей
готовности системы, ~80% готовности к интеграционному тесту с роботом
(остальное — внешние блокеры: дистрибутив ИШ, сертификат УЦ МБ).
Расписан план первичного тестирования после получения ИШ — 2-3 недели
до продакшена.
.gitignore: исключены DOC/*.pdf.bak (бэкапы doc-watcher'a).
65 lines
1009 B
Plaintext
65 lines
1009 B
Plaintext
# Сборки
|
|
/bin/
|
|
/dist/
|
|
*.exe
|
|
*.test
|
|
*.out
|
|
|
|
# Go
|
|
vendor/
|
|
go.sum.lock
|
|
|
|
# Java / crypto-service
|
|
services/crypto-service/build/
|
|
services/crypto-service/.gradle/
|
|
services/crypto-service/target/
|
|
*.jar
|
|
*.class
|
|
|
|
# Node / admin-ui
|
|
web/admin-ui/node_modules/
|
|
web/admin-ui/dist/
|
|
|
|
# Локальные конфиги и секреты
|
|
.env
|
|
.env.local
|
|
*.local.yaml
|
|
*.local.yml
|
|
secrets/
|
|
certs/private/
|
|
|
|
# Контейнеры ключей и сертификаты — никогда не коммитим
|
|
*.p12
|
|
*.pfx
|
|
*.pem
|
|
*.key
|
|
*.cer.priv
|
|
|
|
# IDE и временные файлы
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
.DS_Store
|
|
|
|
# Логи
|
|
*.log
|
|
logs/
|
|
|
|
# Тестовые артефакты
|
|
coverage.out
|
|
coverage.html
|
|
test-results/
|
|
|
|
# Claude Code сессионные логи и локальные настройки
|
|
.claude/logs/
|
|
.claude/settings.local.json
|
|
.claude/projects/
|
|
.claude/worktrees/
|
|
|
|
# macOS
|
|
.DS_Store
|
|
|
|
# Doc-watcher: бэкапы при переустановке свежих версий
|
|
DOC/*.pdf.bak
|
|
DOC/*.bak.pdf
|