Files
autotest/TASKS/SOLdescribe.md
T

4.5 KiB
Raw Blame History

Список задач обновлен

Что получится из Autotest

Autotest станет веб-приложением для автоматической проверки операций облачных сервисов Nubes.

Сейчас приложение позволяет вручную создавать, изменять и удалять инстансы. Следующий этап — запуск готовых автоматических сценариев, например:

Создать PostgreSQL → изменить параметры → проверить результат → удалить

Как это будет работать

  1. В конфигурационном YAML-файле задаётся:

    • какие сервисы проверять;
    • какие операции выполнять;
    • в какой последовательности;
    • какие параметры использовать;
    • нужно ли удалять созданный инстанс.
  2. Пользователь открывает приложение, выбирает сценарий и стенд, нажимает «Запустить».

  3. Приложение последовательно выполняет операции и показывает:

    • текущий шаг;
    • созданный инстанс;
    • продолжительность;
    • успешный или неуспешный результат;
    • причину ошибки.
  4. Результаты сохраняются в PostgreSQL и доступны всем тестировщикам в общей истории.

Архитектура

YAML-сценарии в Git
        ↓
Flask-приложение
        ↓
Исполнитель сценариев
        ↓
Nubes API
        ↓
PostgreSQL: запуски, шаги, результаты и ошибки

Ручные операции и автоматические сценарии будут использовать один и тот же механизм работы с Nubes API. Благодаря этому автоматический тест будет выполнять операцию так же, как текущий ручной интерфейс и UI облака.

Для каждого стенда используется отдельный технический токен. Токен пользователя нужен только для ручных операций.

Первый рабочий релиз

В MVP войдут:

  • YAML-сценарии, хранящиеся и проверяемые через Git;
  • ручной запуск сценария из веб-интерфейса;
  • последовательное выполнение операций;
  • поддержка dev и test;
  • сценарии с временными и постоянными тестовыми инстансами;
  • отображение выполнения по шагам;
  • общая история всех запусков;
  • сохранение результатов и ошибок в PostgreSQL;
  • защита от одновременного запуска нескольких сценариев на одном стенде.

Prod на первом этапе будет заблокирован. После проверки на dev и test добавим отдельные правила безопасности для тестовой организации, карантина и разрешённых операций.

Дальнейшее развитие

После MVP можно добавить:

  • запуск по расписанию;
  • уведомления о падениях;
  • регулярные проверки выбранных сервисов;
  • статистику успешности и длительности операций;
  • безопасный запуск на prod;
  • настройку сценариев через веб-интерфейс;
  • impersonation и проверку операций от разных пользователей.

Итог: это будет не копия UI облака, а централизованный инструмент для регулярной проверки работоспособности операций Nubes: с настраиваемыми сценариями, общими результатами и контролем безопасности.