Skip to content

2gis/n8n-autotests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

N8N API Автотесты

README создано AI (GitHub Copilot).

Назначение

Скрипт tests/run.sh выполняет базовый прогон проверок работоспособности окружения n8n через REST API:

  1. Health check
  2. Создание тестового пользователя
  3. Создание Tag
  4. Создание workflow (Webhook)
  5. Активация workflow
  6. Проверка вызова заранее созданного webhook (/webhook/update-test)
  7. Подсчёт количества workflow
  8. Получение списка executions
  9. Очистка созданных ресурсов (workflow, пользователь, tag)

Скрипт безопасно удаляет ранее созданные тестовые сущности с тем же Tag / email перед запуском.

Требования

  • Bash (Linux/macOS)
  • curl
  • jq
  • Доступ к инстансу n8n и валидный API Key
  • Файл с API токеном в .vault/kv/ (см. ниже)

Подготовка окружения

  1. В каталоге репозитория создайте файл c API ключом: .vault/kv/<SECRET_NAME>
  2. Экспортируйте переменные:
export N8N_API_KEY_SECRET=<SECRET_NAME>   # имя файла в .vault/kv/ с токеном
export N8N_API_URL=https://your-n8n.domain # при отличии от значения по умолчанию

Скрипт сам прочитает токен: N8N_API_TOKEN=$(cat .vault/kv/"${N8N_API_KEY_SECRET}").

Запуск

chmod +x tests/run.sh   # один раз
./tests/run.sh

Код выхода 0 = все тесты прошли. Любое другое значение = есть ошибки.

Настраиваемые значения

Изменяемые переменные внутри run.sh (при необходимости):

  • TEST_USER_EMAIL
  • TEST_WORKFLOW_NAME
  • TEST_WORKFLOW_TAG_NAME

Пароль пользователя и токен генерируются автоматически.

Типовой вывод (усечённый)

N8N API Тестирование
[INFO] Проверка переменных окружения...
[SUCCESS] Переменные окружения настроены корректно
... 
[SUCCESS] Workflow активирован успешно
[SUCCESS] Workflow выполнен успешно
==========================================
Результаты тестирования:
Всего тестов: 7
Успешных: 7
Неуспешных: 0

Повторные прогоны

Перед стартом выполняется поиск и удаление:

  • Пользователя с заданным email
  • Всех workflow с указанным Tag
  • Tag с тем же именем Это позволяет запускать тест многократно без «засорения» окружения.

Использование в CI (пример GitLab CI)

stages: [test]
api-tests:
  stage: test
  image: alpine:3.20
  before_script:
    - apk add --no-cache bash curl jq coreutils
    - export N8N_API_KEY_SECRET=$N8N_API_KEY_SECRET
  script:
    - bash tests/run.sh

(Переменные/секреты задайте в настройках CI.)

Ограничения

  • Активация и выполнение webhook тестируется против заранее доступного эндпоинта /webhook/update-test.
  • При недоступности API ключа или URL выполнение прерывается сразу.

Обратная связь

Изменяйте и дополняйте по необходимости. README создано AI (GitHub Copilot).

About

Autotests for check n8n onpremises works fine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages