frostfs-testcases/README.md
anatoly@nspcc.ru da334c3bc1 update
2020-08-14 01:09:00 +03:00

72 lines
3.5 KiB
Markdown

### Локальный запуск тесткейсов
1. Устаносить зависимости (только для первого запуска):
- pip3 install robotframework
- pip3 install neocore
- pip3 install requests
(pip3 заменить на соответсвующий менеджер пакетов python в системе).
При этом должен быть запущен dev-env с тестируемым окружением.
2. Выпольнить `make run`
3. Логи будут доступны в папке 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>
```
2. Выполнить `make build`
3. Выполнить `make run_docker`
4. Логи будут доступны в папке 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`.