Loading repository data…
Loading repository data…
bozaro / repository
Тестовое задание по курсу СУБД для Технопарка
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Тестовое задание для реализации проекта "Форумы" на курсе по базам данных в Технопарке Mail.ru (https://park.mail.ru).
Суть задания заключается в реализации API к базе данных проекта «Форумы» по документации к этому API.
Таким образом, на входе:
На выходе:
Документация к API предоставлена в виде спецификации OpenAPI: swagger.yml
Документацию можно читать как собственно в файле swagger.yml, так и через Swagger UI (там же есть возможность поиграться с запросами): https://tech-db-forum.bozaro.ru/
Проект должен включать в себя все необходимое для разворачивания сервиса в Docker-контейнере.
При этом:
Контейнер будет собираться из запускаться командами вида:
docker build -t a.navrotskiy https://github.com/bozaro/tech-db-forum-server.git
docker run -p 5000:5000 --name a.navrotskiy -t a.navrotskiy
В качестве отправной точки можно посмотреть на примеры реализации более простого API на различных языках программирования: https://github.com/bozaro/tech-db-hello/
Корректность API будет проверяться при помощи автоматического функционального тестирования.
Методика тестирования:
Скомпилированные программы для тестирования можно скачать по ссылкам:
Для локальной сборки Go-скрипта достаточно выполнить команду:
go get -u -v github.com/bozaro/tech-db-forum
go build github.com/bozaro/tech-db-forum
После этого в текущем каталоге будет создан исполняемый файл tech-db-forum.
Для запуска функционального тестирования нужно выполнить команду вида:
./tech-db-forum func -u http://localhost:5000/api -r report.html
Поддерживаются следующие параметры:
| Параметр | Описание |
|---|---|
| -h, --help | Вывод списка поддерживаемых параметров |
| -u, --url[=http://localhost:5000/api] | Указание базовой URL тестируемого приложения |
| -k, --keep | Продолжить тестирование после первого упавшего теста |
| -t, --tests[=.*] | Маска запускаемых тестов (регулярное выражение) |
| -r, --report[=report.html] | Имя файла для детального отчета о функциональном тестировании |