# Автотесты для Petstore API Этот проект содержит набор автотестов для [Swagger Petstore API](https://petstore.swagger.io/v2) с использованием библиотек **Rest-assured** и **JUnit 5**. Проект оформлен как Maven-проект с поддержкой JDK 24. ## Структура проекта ```plaintext hw3/ ├── pom.xml # Maven-конфигурация ├── README.md # Readme файл └── src └── test └── java └── ru └── otus └── petstore └── PetStoreTests.java # Автотесты ``` ## Обзор **Rest-assured** — это библиотека для тестирования REST API, предоставляющая удобный DSL (domain-specific language) для формирования HTTP-запросов, их отправки и проверки ответов. В данном проекте с её помощью отправляются GET и POST запросы к Petstore API, а также производятся проверки кодов ответа и содержимого JSON. ### Реализованные сценарии тестирования 1. **Тест: Поиск питомцев со статусом "available"** Отправляется GET-запрос на `/pet/findByStatus` с параметром `status=available`. **Ожидаемый результат:** HTTP 200 и у всех питомцев в ответе значение поля `status` равно `"available"`. 2. **Тест: Поиск питомцев по несуществующему статусу** Отправляется GET-запрос с параметром `status=invalidStatus`. **Ожидаемый результат:** HTTP 200 и пустой массив в ответе. 3. **Тест: Успешное создание питомца** Отправляется POST-запрос с корректными данными для создания питомца. **Ожидаемый результат:** HTTP 200 и возвращаемое поле `name` совпадает с переданным значением. 4. **Тест: Ошибка при создании питомца без поля "name"** Отправляется POST-запрос, в котором отсутствует обязательное поле `name`. **Ожидаемый результат:** API возвращает ошибку (код 400 или 405). 5. **Тест: Ошибка при передаче некорректного JSON** Отправляется POST-запрос с ошибочным JSON (без закрывающей фигурной скобки). **Ожидаемый результат:** API возвращает ошибку (код 400 или 405). ## Как запустить тесты 1. **Клонируйте репозиторий:** ```bash git clone https://git.kovbasa.ru/otus-autotests/hw3.git 2. **Перейдите в папку проекта:** ```bash cd hw3 3. **Запустите тесты командой:** ```bash mvn test После выполнения тестов в консоли вы увидите нумерованные сообщения с результатами (например, "1. Test: Find pets by 'available' status - Passed"). ## Зависимости - **Rest-assured**: 4.5.1 - **JUnit Jupiter (API & Engine)**: 5.9.1 ## Лицензия Проект предназначен для образовательных целей. ``` --- Этот файл **README.md** даёт краткое описание проекта, объясняет суть реализации тестов с Rest-assured, описывает основные сценарии тестирования, структуру проекта и шаги для запуска автотестов. Вы можете его адаптировать под свои нужды или дополнить дополнительной информацией.