Ответ
Да, примером может служить баг в валидации дат при создании задачи через API.
Контекст: Система управления задачами с API для создания задач, включая поле дедлайна (deadline).
Шаги воспроизведения:
- Отправить POST-запрос на создание задачи с датой дедлайна в прошлом.
- Проверить ответ сервера.
Ожидаемое поведение: Сервер должен вернуть ошибку валидации (например, HTTP 400 Bad Request с сообщением, что дедлайн не может быть в прошлом).
Фактическое поведение: Задача успешно создавалась со статусом 201 Created.
Пример теста (Python, pytest + requests):
import requests
from datetime import date, timedelta
def test_cannot_create_task_with_past_deadline():
url = "https://api.example.com/tasks"
headers = {"Authorization": "Bearer <token>"}
# Дата вчера
past_date = (date.today() - timedelta(days=1)).isoformat()
payload = {
"title": "Test Task with Invalid Deadline",
"deadline": past_date
}
response = requests.post(url, json=payload, headers=headers)
# Ожидаем ошибку клиента (4xx)
assert response.status_code == 400,
f"Expected 400, got {response.status_code}. Task was incorrectly created."
# Дополнительно можно проверить текст ошибки в response.json()
Суть бага: Отсутствовала серверная валидация на то, что deadline должен быть >= текущей даты. Это потенциально приводило к созданию невыполнимых задач и ошибкам в бизнес-логике отчетов.
Действие: Баг был заведен в трекер (Jira/YouTrack) с высоким приоритетом, так как нарушал базовую логику планирования.
Ответ 18+ 🔞
А, ну это же классика, ёпта! Прямо как в том анекдоте про дедлайн, который уже вчера был, а ты только сегодня родился. Суть в чём: система по созданию задач на API, блядь, принимала дату дедлайна, которая уже в прошлом, и не пикнула!
Что за пиздец творился:
Ты шлёшь запрос на создание задачи, а в поле deadline суёшь, например, вчерашнее число. По логике, сервер должен был тебе в ответ ебальник набросить с ошибкой, мол, "ты че, мудак, дедлайн в прошлом ставишь?". Но нет! Он тебе вежливо так: "О, задача создана, ёбта! Успехов!" И статус 201 Created. Ну пиздец же, да?
Вот тебе пример, как это ловили на питоне:
import requests
from datetime import date, timedelta
def test_cannot_create_task_with_past_deadline():
url = "https://api.example.com/tasks"
headers = {"Authorization": "Bearer <token>"}
# Берём дату вчерашнюю, чтоб наверняка
past_date = (date.today() - timedelta(days=1)).isoformat()
payload = {
"title": "Test Task with Invalid Deadline",
"deadline": past_date
}
response = requests.post(url, json=payload, headers=headers)
# А мы тут ждём, что сервер нас пошлёт нахуй с кодом 400
assert response.status_code == 400,
f"Expected 400, got {response.status_code}. Task was incorrectly created."
# Можно ещё заглянуть в ответ, посмотреть, не написал ли он нам "идиот" в json'е
А корень зла где был, блядь? Да просто нихуя не проверяли на бэкенде, что дата дедлайна должна быть не раньше сегодняшнего дня. Отправил запрос — и хуй с тобой, создалась задача, которую по определению уже просрать успели. Вся логика отчётов и планирования летела в пизду, потому что задачи-то невыполнимые сразу.
Что сделали? Ну, естественно, завели баг в трекер с приоритетом "высокий", потому что это пиздец, а не фича. Нарушение базовой, блядь, логики приложения. В рот меня чих-пых, как такое в продакшн просочиться могло?