Как автоматически проверить бек-сервер по спеке OpenAPI на предмет 500-х ошибок?
Есть OpenAPI схема веб-сервиса, например возьмем официальную Swagger Petstore.
В нем есть роут создания пользователя через POST /user:
{
"id": 10,
"username": "theUser",
"firstName": "John",
"lastName": "James",
"email": "[email protected]",
"password": "12345",
"phone": "12345",
"userStatus": 1
}
Меня интересует, как можно проверить веб-сервис на предмет 500-x ошибок в автоматическом режиме?
Что-то вроде запуска команды openapi openapi.yaml, которая из схемы узнает какие есть роуты (POST /user), и будет пытаться сломать сервис. Например, в phone будет отправлять такие кейсы:
- пустое значение
- null
- длинный текст (16 кб)
- отрицательные и дробные значения
Мне это нужно для поиска ошибок. Например, если в БД под email отведено 255 символов, а в коде отсутствует проверка длины, вставка строки приведет к фатальной ошибке, а этот инструмент это найдет по 500-му коду ответа:
POST /user
HTTP: 500
field: email
value: (long text)
Варианты "пишите больше тестов" и "смотрите по логам" не предлагать, нужен активный инструмент.