Суть задания заключается в реализации API к базе данных проекта «Форумы» по документации к, собственно, этому API, т.е. эдакий реверс-инжиниринг. Таким образом, на входе:
- документация к API
На выходе:
- поднятый и настроенный MySQL
- БД где будет хранится информация об основных сущностях системы
- вэб-сервер, который будет отвечать на внешние запросы, обращаясь к БД
После написания API правильность реализации будет проверяться с помощью автоматического функционального тестирования. Методика тестирования:
- запускается скрипт на python, который будет проводить тестирование
- он опрашивает все методы, определенные в API, по шаблону http://{{student_ip}}/db/api//{{entity}}/{{method}}/ с заранее заданными\случайными параметрами, корректными относительно документации (в POST-запросах передается json, GET - как обычно)
- ответы вашей системы сравниваются с эталонами
- если код http ответа не 200, то тест считается проваленным
- если в ответе не хватает каких-то полей или значение каких-то полей не совпадает, то тест считается проваленным
- если нет ни одного неправильного ответа, то тест считается пройденным
- результат тест отправляется вам на почту