Skip to content

Kudisoldier/rest_api_test

Repository files navigation

Тестирование Rest API приложения - библиотека книг

Требование к ПО: наличие установленого и запущенного docker

Установка:
Клонируем репозиторий
Скачиваем докер образы
Вызываем команду docker load -i rest_api_book_lib_docker.tar
Вызываем команду docker load -i jenkins_with_autotests.tar

Запуск тестов:
Выполнить команду docker compose up в корне проекта
Зайти в Jenkins по адресу http://localhost:8080/ с логином и паролем - admin:83c55c9137c74d1e975e9f2140838991
Запустить билд и посмотреть allure-отчет

Первое, что стоит протестировать, это предоставленную документацию и спецификацию. Ознакомившись с требованиями, я не нашел никаких противоречий или неточностей.

Далее перейдем к позитивному тестированию:

Тест-кейс Шаги Ожидаемый результат
Выполнить вызов API c валидными обязательными параметрами Проверить код ответа Код ответа соответствует rest архитектуре и сигнализирует об успешности операции
Проверить ответ сервера Ответ сервера соответствует модели данных
Выполнить вызов API c валидными обязательными и необязательными параметрами Проверить влияние необязательных параметров Необязательные параметры обрабатываются корректно

Затем можно приступать к негативному тестированию:

Тест-кейс Шаги Ожидаемый результат
Выполнить вызов API, попытавшись выполнить незаконные операции: Проверить код ответа Код ответа соответствует rest архитектуре и сигнализирует об ошибке операции
Добавить уже существующую книгу Проверить ответ сервера Ответ сервера ёмко описывает ошибку
Удалить несуществующую книгу
Обновить/создать книгу с недопустимыми данными

Баги:
Нет валидации полей при создании и обновлении информации о книге

Шаги воспроизведения: Задать полю(ям) isElectronicBook, year, author неправильный тип данных

Ожидаемый результат: Метод вернет 400 статус-код и ошибку, где говорится что требуется другой тип данных у поля

Фактический результат: Книга с неправильными типами данных успешно создается

Примечания: В методы можно передавать дополнительные поля, не несущие смысловой нагрузки, это никак не валидируется
Если передать очень большое значение айди методу получения информации о книге, то возникнет переполнение типа и сервер вернет 500ый статус-код.

About

An automated rest api tests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors