FrostFS integration testcases
qa
Find a file
anatoly@nspcc.ru da334c3bc1 update
2020-08-14 01:09:00 +03:00
ca Merged in features/neo-rpc (pull request #2) 2020-07-01 02:28:31 +00:00
robot update 2020-08-14 01:09:00 +03:00
.drone.yml Merged in features/neo-rpc (pull request #2) 2020-07-01 02:28:31 +00:00
.gitignore INFRA-140 test prototypes 2020-04-30 16:14:32 +03:00
dockerd.sh fix issues with make dir change in /etc/host 2020-07-07 17:50:07 +03:00
Dockerfile Merged in features/neo-rpc (pull request #2) 2020-07-01 02:28:31 +00:00
images_cleanup.sh INFRA-144 CI for test image ; readme 2020-05-20 15:26:13 +03:00
Makefile add acl testcase 2020-07-14 03:05:22 +03:00
README.md update 2020-08-14 01:09:00 +03:00
secrets.txt INFRA-144 CI for test image ; readme 2020-05-20 15:26:13 +03:00

Локальный запуск тесткейсов

  1. Устаносить зависимости (только для первого запуска):
    • pip3 install robotframework
    • pip3 install neocore
    • pip3 install requests

(pip3 заменить на соответсвующий менеджер пакетов python в системе).

При этом должен быть запущен dev-env с тестируемым окружением.

  1. Выпольнить make run

  2. Логи будут доступны в папке artifacts/ после завершения тестов с любым из статусов.

Запуск произвольного тесткейса

Для запуска произвольного тесткейса нужно выполнить команду: robot --timestampoutputs --outputdir artifacts/ robot/testsuites/integration/<testsuite name>.robot

Для запуска доступны следущие сценарии:

  • acl_basic.robot - базовый ACL
  • acl_extended.robot - extended ACL
  • object_complex.robot - операции над простым объектом
  • object_simple.robot - операции над большим объектом

Запуск тесткейсов в докере

  1. Задать переменные окружения для работы с dev-env:
    export REG_USR=<registry_user>
    export REG_PWD=<registry_pass>
    export JF_TOKEN=<JF_token>
  1. Выполнить make build

  2. Выполнить make run_docker

  3. Логи будут доступны в папке artifacts/ после завершения тестов с любым из статусов.

Запуск тесткейсов в докере с произвольными коммитами

На данный момент доступны произовльные коммиты для NeoFS Node и NeoFS CLI. Для этого достаточно задать переменные окружения перед запуском make build.

export BUILD_NEOFS_NODE=<commit or branch>
export BUILD_CLI=<commit or branch>

Сборка образа с тестами

Чтобы тесты из этого репозитория были доступны к запуску из Drone CI, они должны быть упакованы в docker-имадж. Это делается в рамках CI, сконфигурированного в этом репозитории. Вся сборка "тестового образа" описывается в файлах Dockerfile и .drone.yml и осуществляется на каждый пуш в master.

Тестовый образ имеет единственную версию -- latest. Ради экономии хранилища на машине-сборщике перед сборкой все ранее собранные образы удаляются.

Локальная сборка

Чтобы локально собрать образ, нужно, стоя в корне репо, выполнить команду:

drone exec --trusted --secret-file=secrets.txt --volume /var/run/docker.sock

В результате будет прогнан полный пайплайн, за исключением пуша образа в docker registry. Чтобы запушить образ, нужно указать пароль к реджистри в файле secrets.txt.