Ключ: мастер не пишет «Готово» при ошибке; справочник подготовленной флешки — как есть; проверка подписи
- Мастер смотрел не на итог установщика, а ставил галочки подряд: при «ошибке пересборки» и несформированном профиле ИШ показывал «Готово». Теперь этап с ошибкой — красный, причина — в сообщении, «Готово» — только когда справочник собран, профиль ИШ создан и ключ подписывает (оба пути — флешка и архив). - Подготовленная флешка: справочник на ней уже совместимый (пересобран при первой установке) — если пересборка не удалась, берётся как есть (gdbm cf9a5713; архивный НРД ce9a5713 — только с пересборкой). - В конце установки — проверка под igate: ключ подписывает проверочный документ профилем ИШ; не подписывает — понятная ошибка («вставлена ли флешка?»). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -790,3 +790,23 @@ func TestKeyWizBack(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Итог установщика ключа: мастер не ставит галочки, если справочник не собран, профиль ИШ не создан
|
||||
// или ключ не подписывает (раньше — «Готово» при ошибке пересборки).
|
||||
func TestKeyInstallProblem(t *testing.T) {
|
||||
for _, c := range []struct {
|
||||
res map[string]any
|
||||
want string
|
||||
}{
|
||||
{map[string]any{"rebuild": "ok", "igate": "connected", "keycheck": "ok"}, ""},
|
||||
{map[string]any{"rebuild": "as-is", "igate": "pending-channel", "keycheck": "ok"}, ""},
|
||||
{map[string]any{"rebuild": "fail: crestor: Ошибка загрузки ключа ЭП", "igate": "skip"}, "справочник"},
|
||||
{map[string]any{"rebuild": "ok", "igate": "skip"}, "профиль ИШ"},
|
||||
{map[string]any{"rebuild": "ok", "igate": "connected", "keycheck": "fail: E0D5"}, "не подписывает"},
|
||||
} {
|
||||
got := keyInstallProblem(c.res)
|
||||
if (c.want == "") != (got == "") || !strings.Contains(got, c.want) {
|
||||
t.Errorf("%v: %q, ожидалось %q", c.res, got, c.want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user