Files
autotest/HISTORY/2026-07-24-all-failures.md

4.4 KiB
Raw Permalink Blame History

2026-07-24 — Полная хронология провалов (v1.0.6 — v1.0.25)

v1.0.6 — Трёхколоночный UI, auto-selectService

  • Что: три колонки, сервисы грузятся, auto-select на dummy
  • Результат: «Сервисы: Загрузка...» висит
  • Причина: заменён ВЕСЬ шаблон вместо добавления. auto-selectService вызывал API до готовности страницы.

v1.0.7 — HttpClient.post не существовал

  • Ошибка: 'HttpClient' object has no attribute 'post'
  • Причина: в http_client.py только get(), а api_test.py использовал post()
  • Исправление: добавлен post()

v1.0.8 — r.json() на пустом ответе

  • Ошибка: 'str' object has no attribute 'get'
  • Причина: POST /instances → 201 с пустым телом. r.json() падает.
  • Исправление: try/except, возвращаем {}

v1.0.9 — instanceUid из Location

  • Ошибка: не находился UUID инстанса
  • Причина: POST /instances возвращает UID в заголовке Location, не в теле
  • Исправление: парсинг Location → UUID

v1.0.10 — cfsParams в POST /instances

  • Ошибка: 400 Bad Request
  • Причина: cfsParams нельзя в POST /instances
  • Исправление: убраны cfsParams из create

v1.0.11 — descr обязателен

  • Ошибка: 400 Bad Request
  • Причина: поле descr нужно в POST /instances
  • Исправление: добавлен descr: "autotest"

v1.0.12 — тело ошибки в ответе

  • Добавлено: показ тела ответа API при ошибке

v1.0.13 — displayName не уникален

  • Ошибка: 400 "Instance Display Name not unique"
  • Причина: имя autotest-1 уже занято
  • Исправление: timestamp в имени

v1.0.14 — displayName редактируемый

  • Добавлено: поле ввода displayName в параметрах

v1.0.15-1.0.16 — авто-selectService + сломанный шаблон

  • Ошибка: «Сервисы: Загрузка...»
  • Причина: заменён рабочий шаблон новым с багами
  • Исправление: откат к v1.0.12

v1.0.17-1.0.19 — восстановление + displayName

  • Восстановлен рабочий шаблон, добавлен только displayName

v1.0.20 — traceback в ошибках

  • Добавлено: traceback для отладки

v1.0.21 — r.json() возвращает строку "201"

  • Ошибка: 'str' object does not support item assignment
  • Причина: POST /instances → тело "201" → r.json() = "201" → result = "201" (строка)
  • Исправление: isinstance(parsed, dict)

v1.0.22 — двухшаговый create (без cfsParams)

  • Ошибка: инстанс создан, но статус "not created"
  • Причина: только POST /instances, операция create не запущена
  • Исправление: добавлен POST /instanceOperations

v1.0.23 — cfsParams в POST /instanceOperations

  • Ошибка: 422 "required CFS parameter failInProgress (200) is missing"
  • Причина: cfsParams нельзя в POST /instanceOperations — они отдельно
  • Исправление: убраны cfsParams из вызова, добавлены через /params

v1.0.24 — /params без instanceOperationUid

  • Ошибка: /params ожидает {instanceOperationUid, svcOperationCfsParamId, paramValue}
  • Причина: поле instanceOperationUid пропущено
  • Исправление: добавлено

v1.0.25 — пропущен /validate

  • Ошибка: операция не запускается
  • Причина: в Go-клиенте есть шаг validate перед run
  • Исправление: добавлен POST /validate

Итого: 13 итераций, 9 багов

Каждый раз — новый баг, потому что не сверял с Go-клиентом посимвольно.