Версии систем: общий список в «Обзоре» и строка в разделе каждого модуля
bj собирает версии своих компонентов и внешних систем (в фоне, кэш 10 минут, прогрев при старте): ядро и модули bj (components.json или «-version»), экспортёр ARQA (служба bj-quikexport, /version), криптосервис (Health), «Валидата CSP» (zpki1utl), Java, ИШ НРД (deps.json + сайт НРД), МНП QUIK (VersionInfo), DEPO (OD_DATA_VERSION), PostgreSQL, ОС. «Настройка → Обзор» — таблица «Версии систем» с кнопкой «Обновить сведения»; в разделах БД, Fancy, QUIK МНП, Экспорт QUIK, Криптография, НРД, ЛК, НПР и Обновления — строка с версией. В таблице обновлений у компонентов, выложенных вручную, вместо «неизвестна» — версия самого компонента. bj-component-install: -version. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Страница службы модуля встраивается в макет bj: меню и заголовок bj, содержимое — от модуля.
|
||||
@@ -52,3 +53,26 @@ func TestSetupPageEmbedsQuikExport(t *testing.T) {
|
||||
t.Error("индикатор меню не взят у службы")
|
||||
}
|
||||
}
|
||||
|
||||
// Версии: общий список в «Обзоре» и строка в разделе модуля.
|
||||
func TestSetupPageShowsVersions(t *testing.T) {
|
||||
a, err := newAdmin()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
vers := SystemVersions{At: time.Now(), Items: []SystemVersion{
|
||||
{Key: "quik-mnp", Title: "QUIK — Модуль неторговых поручений", Version: "21.3.0", Detail: "обновлена 05.06.2026", Section: "quik"},
|
||||
{Key: "depo", Title: "Fancy DEPO (база DEPO)", Section: "fancy", Err: "нет связи"},
|
||||
}}
|
||||
rec := httptest.NewRecorder()
|
||||
render(rec, a.setup, SetupData{page: nowPage("Настройка", "setup"), AdvancedUnlocked: true, Modules: map[string]bool{"quik-mnp": true}, Versions: vers})
|
||||
if rec.Code != http.StatusOK {
|
||||
t.Fatalf("код %d: %s", rec.Code, rec.Body.String())
|
||||
}
|
||||
body := rec.Body.String()
|
||||
for _, want := range []string{"Версии систем", "<strong>21.3.0</strong>", "QUIK — Модуль неторговых поручений: <strong>21.3.0</strong> · обновлена 05.06.2026", "не определена", "нет связи"} {
|
||||
if !strings.Contains(body, want) {
|
||||
t.Errorf("в странице нет %q", want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user