← Назад ко всем вопросам

Приведи пример тестирования PUT

1️⃣ Как кратко ответить

Тестирование PUT-запроса включает проверку обновления ресурса на сервере. Необходимо убедиться, что запрос корректно обновляет данные, возвращает правильный статус-код (обычно 200 или 204) и что изменения сохраняются в базе данных. Также важно проверить обработку некорректных данных и авторизацию.

2️⃣ Подробное объяснение темы

PUT-запрос в HTTP используется для обновления существующего ресурса на сервере. В отличие от POST, который может создавать новые ресурсы, PUT заменяет текущий ресурс на сервере данными, переданными в запросе. Тестирование PUT-запроса важно для обеспечения корректной работы API и сохранения целостности данных.

Зачем это нужно

Тестирование PUT-запросов необходимо для:

  • Проверки корректности обновления данных.
  • Удостоверения, что сервер правильно обрабатывает запросы и возвращает соответствующие статус-коды.
  • Обеспечения безопасности и авторизации при изменении данных.
  • Поддержания целостности данных в системе.

Пример тестирования PUT-запроса

Предположим, у нас есть API для управления списком пользователей. Каждый пользователь имеет уникальный идентификатор, имя и адрес электронной почты. Мы хотим протестировать обновление данных пользователя.

Пример PUT-запроса

PUT /users/123
Content-Type: application/json
​
{
  "name": "John Doe",
  "email": "john.doe@example.com"
}

Шаги тестирования

  1. Проверка успешного обновления:

    • Отправить PUT-запрос с корректными данными.
    • Ожидаемый результат: сервер возвращает статус-код 200 (OK) или 204 (No Content).
    • Проверить, что данные пользователя обновлены в базе данных.
  2. Проверка некорректных данных:

    • Отправить PUT-запрос с некорректными данными, например, с пустым полем email.
    • Ожидаемый результат: сервер возвращает статус-код 400 (Bad Request) с сообщением об ошибке.
  3. Проверка авторизации:

    • Отправить PUT-запрос без необходимых прав доступа.
    • Ожидаемый результат: сервер возвращает статус-код 401 (Unauthorized) или 403 (Forbidden).
  4. Проверка отсутствующего ресурса:

    • Отправить PUT-запрос для несуществующего пользователя.
    • Ожидаемый результат: сервер возвращает статус-код 404 (Not Found).

Пример кода на Python с использованием библиотеки requests

import requests
​
# URL API для обновления пользователя с ID 123
url = "http://api.example.com/users/123"
​
# Данные для обновления пользователя
data = {
    "name": "John Doe",
    "email": "john.doe@example.com"
}
​
# Отправка PUT-запроса
response = requests.put(url, json=data)
​
# Проверка статус-кода ответа
if response.status_code == 200:
    print("User updated successfully.")
elif response.status_code == 204:
    print("User updated successfully, no content returned.")
else:
    print(f"Failed to update user. Status code: {response.status_code}")
​
# ​
# Проверка содержимого ответа, если необходимо
print(response.json())
  • import requests: Импортируем библиотеку requests для отправки HTTP-запросов.
  • url: Определяем URL для обновления пользователя с ID 123.
  • data: Создаем словарь с данными, которые хотим обновить.
  • requests.put(url, json=data): Отправляем PUT-запрос с данными в формате JSON.
  • response.status_code: Проверяем статус-код ответа, чтобы определить успешность операции.
  • response.json(): Выводим содержимое ответа, если необходимо для дальнейшей проверки.

Тестирование PUT-запросов помогает убедиться, что API корректно обрабатывает обновления данных и возвращает ожидаемые результаты.

Тема: HTTP, REST, SOAP, WebSocket и API
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки