# internal/lkemulator — имитация ЛК клиента (ESIA Finance) Веб-приложение, которое играет роль ЛК ESIA Finance в сквозных тестах без подключения к реальному ЛК. Используется: - для дев-демо «увидеть как работает сквозной поток заявки M2M»; - для приёмочного теста перед интеграцией с реальным ЛК; - как QA-инструмент, который остаётся после внедрения реального ЛК. ## Веб-страницы - `/` — журнал моих заявок с автообновлением каждые 3 сек (показывает изменение статуса по callback'у от lk-gateway). - `/new` — форма «подать заявку M2M»: выпадающий список инвесторов (из `seed-data`), реквизиты сторон, ИИС, одна ЦБ, выбор имитируемого исхода (confirm/reject/timeout). - `/claims/{id}` — карточка с историей: тело POST в lk-gateway, ответ lk-gateway, полученный callback, расшифровка ответа НРД. - `/healthz` — health. - `/api/v1/back_office/claims/{id}` (PATCH) — приёмник callback'ов от lk-gateway. ## Состав пакета - `server.go` — HTTP-сервер, маршруты, рендер шаблонов. - `client.go` — `GatewayClient` (POST заявка, регистрация callback URL). - `types.go` — `Store` (in-memory) и `Claim`/`CallbackRecord` модели. - `web/templates/` — `layout.html`, `home.html`, `new.html`, `claim.html`. ## Конфигурация (cmd/lk-emulator/main.go, ENV) | Переменная | По умолчанию | Назначение | |---|---|---| | `BJ_HTTP_ADDR` | `:8083` | Адрес HTTP | | `BJ_GATEWAY_URL` | `http://127.0.0.1:8080` | URL lk-gateway, куда шлём POST заявки | | `BJ_EMULATOR_PUBLIC_URL` | `http://127.0.0.1:8083` | Куда gateway должен слать callback'и (регистрируется при старте) | ## Сквозной поток для проверки 1. Запустить `./bin/lk-gateway` (порт 8080) и `./bin/lk-emulator` (порт 8083). 2. Открыть в браузере `http://127.0.0.1:8083/new`. 3. Подать заявку с дефолтными значениями + исход `confirm`. 4. На странице `http://127.0.0.1:8083/` через ~3 секунды увидеть статус заявки `confirmed`. 5. На странице `http://127.0.0.1:8080/admin/` — дашборд lk-gateway со счётчиком «Подтверждено: 1» и заявкой в журнале. 6. На странице `http://127.0.0.1:8080/admin/status` — состояние всех подсистем.