Як тестувати інтеграцію і не смітити
Пісочниці тут немає. Є дещо краще: виклик, який перевіряє все і не створює нічого.
Почніть із сухого прогону
Ендпоїнт валідації приймає те саме тіло, що й створення, застосовує ту саму схему і ті самі правила імен і повертає всі проблеми разом, нічого не записуючи. Більшу частину інтеграції можна розробляти проти нього: імена полів, форми блоків, обробку помилок, увесь шлях від відповідей людини до валідного запиту.
Це ж чесний перший виклик і в проді. Прогін, який валідує перед створенням, перетворює низку піввідмов на один список і ніколи не спалює адресу на тілі, яке все одно відхилили б.
- Розробляйте проти валідації, доки тіло не стане правильним, а обробка помилок — перевіреною.
- Потім створіть одну справжню сторінку на одноразовій адресі й прочитайте її назад у Markdown.
- Перевірте, що claim-посилання відкривається, а сторінка нормально має вигляд на телефоні.
- Видаліть сторінку, коли завершите. Видалення забирає із собою файли й статистику.
Що легко забути перевірити
- Зайняте ім’я: чекайте конфлікт із варіантами і переконайтеся, що показуєте їх, а не обираєте самі.
- Ліміт: чекайте 429 з retryAfter і переконайтеся, що чекаєте, а не крутите цикл.
- Повтор: надішліть той самий ключ ідемпотентності двічі й переконайтеся, що отримали одну сторінку, а не дві.
- Погану адресу картинки: сторінка все одно створиться, а збій прийде в попередженнях.
Сміття і що з ним відбувається
Кожна залишена тестова сторінка тримає адресу назавжди, бо видалене ім’я лишається припаркованим: старі посилання не мають почати вести на стороннього. Це єдина ціна недбалих експериментів, і платить її наступний, кому це ім’я було потрібне.
Страховка є: сторінка, зроблена програмою, ніким не забрана і жодного разу не відкрита, знімається з публікації через тридцять днів і видаляється через шістдесят, а ім’я звільняється, а не паркується. Покладайтеся на це для прогонів, про які забули, а не для тих, що йдуть просто зараз.