Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eatgras/yandexpracticum_project10_autotests
Автоматизация чек-листа для поля name в запросе на создание набора в Яндекс Прилавок с помощью API Яндекс Прилавок
https://github.com/eatgras/yandexpracticum_project10_autotests
api-test-automation pycharm pytest python yandex-practicum
Last synced: 5 days ago
JSON representation
Автоматизация чек-листа для поля name в запросе на создание набора в Яндекс Прилавок с помощью API Яндекс Прилавок
- Host: GitHub
- URL: https://github.com/eatgras/yandexpracticum_project10_autotests
- Owner: EatGras
- Created: 2024-01-11T15:17:27.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-01-12T15:21:15.000Z (10 months ago)
- Last Synced: 2024-10-16T22:04:55.131Z (20 days ago)
- Topics: api-test-automation, pycharm, pytest, python, yandex-practicum
- Language: Python
- Homepage: https://practicum.yandex.ru/
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Проект 11
## Автоматизация чек-листа для поля `name` в запросе на создание набора в Яндекс Прилавке с помощью API Яндекс Прилавка.
Яндекс Прилавок это учебное web-приложение для практики работы с API, SQL.
- Язык приложения — `JavaScript`.
- Доступ к приложению по протоколу `HTTP 1.1`.
- Документация к приложению осуществляется с помощью модуля `apiDoc`.
- Приложение использует базу данных — `PostgreSQL`.### Требования
- Для запуска тестов должны быть установлены пакеты `pytest` и `requests`.
- Запуск всех тестов выполняется командой `pytest`.### Чек-лист проверок
| № | Описание | ОР |
|----|------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| 1 | Допустимое количество символов (1): `kit_body = { "name": "a" }` |
Код ответа — 201
В ответе поле name совпадает с полем name в запросе |
| 2 | Допустимое количество символов (511): тестовое значение под таблицей |
Код ответа — 201
В ответе поле name совпадает с полем name в запросе |
| 3 | Количество символов меньше допустимого (0): `kit_body = { "name": "" }` |
Код ответа — 400 |
| 4 | Количество символов больше допустимого (512): тестовое значение под таблицей |
Код ответа — 400 |
| 5 | Разрешены английские буквы: `kit_body = { "name": "QWErty" }` |
Код ответа — 201
В ответе поле name совпадает с полем name в запросе |
| 6 | Разрешены русские буквы: `kit_body = { "name": "Мария" }` |
Код ответа — 201
В ответе поле name совпадает с полем name в запросе |
| 7 | Разрешены спецсимволы: `kit_body = { "name": ""№%@"," }` |
Код ответа — 201
В ответе поле name совпадает с полем name в запросе |
| 8 | Разрешены пробелы: `kit_body = { "name": " Человек и КО " }` |
Код ответа — 201
В ответе поле name совпадает с полем name в запросе |
| 9 | Разрешены цифры: `kit_body = { "name": "123" }` |
Код ответа — 201
В ответе поле name совпадает с полем name в запросе |
| 10 | Параметр не передан в запросе: `kit_body = {}` |
Код ответа — 400 |
| 11 | Передан другой тип параметра (число): `kit_body = { "name": 123 }` |
Код ответа — 400 |#### Тестовые значения для проверок №2 и №4
Допустимое количество символов (511)
```py
kit_body = { "name": "AbcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdAbcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabC" }
```
Количество символов больше допустимого (512)
```py
kit_body = { "name": "AbcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdAbcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcD" }
```### Шаги выполнения проекта
1. Написать `POST`-запрос на создание нового пользователя и сохранение токена авторизации authToken.
2. Написать `POST`-запрос на создание личного набора для этого пользователя. Учесть передачу заголовка Authorization.
3. Написать функции для проверки позитивных и негативных сценариев чек-листа.
4. Запустить автотест.
5. Упаковать папку с файлами `configuration.py`, `data.py`, `sender_stand_request.py`, `create_kit_name_kit_test.py`, `README.md`, `.gitignore` в ZIP-архив.> #### Создание пользователя
> Тип запроса – `POST`.
> Эндпоинт – `/api/v1/users`.
> ###### Успешное создание учётной записи пользователя
> ```xml
> HTTP/1.1 201 Created
> {
> authToken: 'jknnFApafP4awfAIFfafam2fma'
> }
> ```> #### Создание набора внутри конкретной карточки или пользователя
> Тип запроса – `POST`.
> Эндпоинт – `/api/v1/kits`.
> ###### Заголовок для получения наборов, созданных пользователем
> ```xml
> {
> "Content-Type": "application/json",
> "Authorization": "Bearer jknnFApafP4awfAIFfafam2fma"
> }
> ```### Стек для выполнения проекта
* PyCharm
* GitHub* requests
* pytest## Автор
Шумигай Руслан, 12 когорта