Обновление: компоненты, которых не знает прежний root-установщик (igate-dist), — вторым заходом, сразу или после перезапуска

Старый bj-component-install отклонял обновление целиком из-за незнакомого igate-dist — вместе со своей
новой версией (рабочий сервер: установщик .06.2). installerSince: с какой версии установщик знает
компонент; отложенное ставится тем же нажатием после нового установщика, а если перезапускался
bj-server — само после старта (Update.Pending). Тест TestLKAgentEndToEnd: ждёт счётчик агента (гонка).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-06 23:44:55 +03:00
parent efa135b513
commit a9cb055504
4 changed files with 103 additions and 24 deletions
+7 -1
View File
@@ -63,7 +63,13 @@ func TestLKAgentEndToEnd(t *testing.T) {
if resp.StatusCode != http.StatusOK || !out.OK || out.Mode != "agent" || out.BJ["service"] != "bj-server" {
t.Fatalf("ответ ядра через очередь: код %d, %+v", resp.StatusCode, out)
}
if st := lkAgentStatus(rc.Snapshot()); !st.Connected || st.Served == 0 {
// счётчик агент увеличивает после того, как отдал ответ кабинету, — клиент может получить ответ раньше
st := lkAgentStatus(rc.Snapshot())
for i := 0; i < 40 && (!st.Connected || st.Served == 0); i++ {
time.Sleep(50 * time.Millisecond)
st = lkAgentStatus(rc.Snapshot())
}
if !st.Connected || st.Served == 0 {
t.Fatalf("состояние канала: %+v", st)
}