Как протестировать клиент платёжного провайдера, включая ошибки 500 и таймауты
Пакет payments содержит HTTP-клиент провайдера: создание платежа, разбор ответа, повторы при 503. Сейчас тесты ходят в песочницу провайдера, которая недоступна по ночам, а ответ 503 в ней получить нельзя.
Какой инструмент стандартной библиотеки подходит?
- httptest.NewServer с хендлером, отдающим нужные ответы
- net/rpc с тестовым сервером
- os/exec для запуска curl в тестах
- Подмена DNS в /etc/hosts на тестовой машине
