Files
zuevav 7c653a2490 Версии систем: общий список в «Обзоре» и строка в разделе каждого модуля
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>
2026-09-16 12:00:00 +03:00

26 lines
921 B
Go

package quikexport
import (
"os"
"path/filepath"
"testing"
)
func TestExporterVersion(t *testing.T) {
dir := t.TempDir()
// В программе встречаются и чужие версии библиотек — берётся та, что совпадает с установщиком.
bin := []byte("\x00ELF\x008.0.4.2\x00codecvt\x0012.1.5.2\x000123456789\x00")
if err := os.WriteFile(filepath.Join(dir, "export"), bin, 0o755); err != nil {
t.Fatal(err)
}
if err := os.WriteFile(filepath.Join(dir, ".actions.log"), []byte("[14/09/26][./install_quikexport-12.1.5.run][root] Done\n"), 0o644); err != nil {
t.Fatal(err)
}
if v := exporterVersion(dir); v != "12.1.5.2" {
t.Fatalf("версия экспортёра = %q", v)
}
if v := exporterVersion(t.TempDir()); v != "" {
t.Fatalf("без экспортёра версия должна быть пустой, получено %q", v)
}
}