# NoSQL task instruction ## Пререквизиты ### Moodle Курс для разработки - http://e.moevm.info/course/view.php?id=48 ### Linux-challenge (LC) Тестирующая система - https://task.cub-it.org/ ## Добавление задачи ### В Moodle 1. Войти в режим редактирования курса - ![](https://i.imgur.com/q3W2TrN.png) 2. Для упрощения создания новой задачи уже создан шаблон задачи - его необходимо дублировать для каждой новой задачи - ![](https://i.imgur.com/VrjgEHb.png) 3. Редактирование конфигурации задачи - ![](https://i.imgur.com/4mjHtTj.png) - ![](https://i.imgur.com/NDi8liW.png) - ![](https://i.imgur.com/HyIskdn.png) - `task_id` - `loc_id` задачи в LC (которая открывается при запуске) ### В LC 1. Страница создания новой задачи: - ![](https://i.imgur.com/uAy0UiH.png) - https://task.cub-it.org/admin_tasks - ![](https://i.imgur.com/EKehEsA.png) - https://task.cub-it.org/create_task/linux_challenge 2. Поля задачи - ![](https://i.imgur.com/p1WIUTk.png) - Большинство полей можно заполнить аналогично другим задачам: https://task.cub-it.org/admin_task/44718_4 - `id/loc_id` - желательно заполнять одинаково с использованием id задачи из репозитория (например, с префиксом `nosql_` + `memcached_add_key` = `nosql_memcached_add_key`) - `Course` - `2586_Введение_в_нереляционные_базы_данных` - `type` - без изменений - `docker_image` - `15` - `memory` - `128`/`256` (если для задачи/БД требуется много RAM) - `time_limit` - без изменений - `condition` - текстовое условие задачи (используется html-разметка) - `bootstrap` - bash-скрипт инициализации контейнера с задачей - `check` - python-код для запуска тестов через pytest - Организован в виде функций с префиксом `test_` в названии (необходимо для pytest) - С помощью команды `s.run('some bash command')` возможно выполнение bash-команды на целевой машине (контейнер с задачей студента, с которым он взаимодействует через терминал), возвращаемое значение - output выполненной команды. 3. После сохранения - задача доступна к открытию через Moodle по `loc_id`