Учебный API с багами: найдите 10 ошибок
Checkcraft — программа для проверки API и логов без кода, есть бесплатная версия. Скачать без регистрации →
В обычных учебных API всё работает, и искать там нечего. Здесь API магазина отвечает статусом 200, но в ответах спрятаны 10 багов: неверный итог, повтор ключа, утечка данных и другие. Сверьте ответы с документацией и найдите все.
Как играть
Прочитайте документацию над списком адресов: это контракт, который API обязан соблюдать. Отправьте запросы и сравните каждый ответ с правилами. Нашли расхождение — выберите ответ, напишите поле и нажмите «Проверить». Баги разной сложности: часть видна сразу, часть только при сравнении двух ответов или ответа с логом. Регистрация не нужна.
Адреса для Postman и автотестов
Все адреса — обычные GET-запросы без авторизации. Их можно вставить в Postman, Insomnia, Bruno, curl или в свои автотесты на Python и Java. Ответы не меняются, поэтому тест, который нашёл баг сегодня, найдёт его и завтра.
GET https://checkcraft.ru/practice-api/v1/products.json
GET https://checkcraft.ru/practice-api/v1/orders.json
GET https://checkcraft.ru/practice-api/v1/orders/5001.json
GET https://checkcraft.ru/practice-api/v1/orders/5002.json
GET https://checkcraft.ru/practice-api/v1/orders/5003.json
GET https://checkcraft.ru/practice-api/v1/orders/5004.json
GET https://checkcraft.ru/practice-api/v1/customers/7.json
GET https://checkcraft.ru/practice-api/logs/orders-service.txtПочему именно эти баги
Каждый взят из реальной практики: статус 200 с неверной суммой, число строкой, дата без часового пояса, опечатка в статусе, лишнее поле с секретом, разные данные в списке и карточке, повтор ключа, который парсеры молча проглатывают, и ответ, который противоречит логу. Почти все проходят мимо теста, который проверяет только код ответа и наличие полей.
Как ловить такие баги автоматически
Найти баг руками один раз — полдела, важно, чтобы он не вернулся. Для каждого найденного бага на этой странице показано правило, которое ловит его на каждом прогоне: тип поля, расчёт, допустимые значения, белый список полей, сравнение с логом. В Checkcraft такие правила задаются без кода, а запрос и поиск в логах Kibana идут в одном сценарии. Бесплатной версии хватит, чтобы повторить всё на этом API.
Повторите это на своём API
Checkcraft — настольная программа: сохраняет проверки ответа API без кода и показывает, что не совпало. Начните с учебного примера, затем подставьте свои обезличенные данные. Free работает на Windows и Linux без ограничения срока.
Скачать FreeКак получить и запустить приложениеСкачивание без регистрации и почты, архив готов за пару минут. Состав бесплатной версии опубликован на странице тарифов.
Документация
RFC 8259: объекты JSON и повтор имён · RFC 3339: дата и время · OWASP API3:2023
Начните с примера по ссылкам и сопоставьте результат с требованием своей проверки.