Подтвердить что ты не робот

API-интерфейсы для тестирования модулей, для которых требуются токены OAuth

Я пытаюсь написать набор тестов автоматизированной интеграции для тестирования вызовов клиентской библиотеки С# на Yahoo Fantasy Sports API. Для нескольких вызовов API требуются токены OAuth, в которых я испытываю определенные трудности. Я могу использовать веб-браузер для генерации ключа доступа и секретности, а затем передавать их в моем тестовом коде, но токены истекают через час, поэтому мне нужно вручную их восстановить и обновить мою тестовую конфигурацию в любое время, когда я хочу запустить тесты.

Существуют ли лучшие методы для написания тестов интеграции API, когда требуются токены OAuth?

4b9b3361

Ответ 1

обычно такие api предлагают способ получить токены аутентификации без необходимости использования браузера. Я не уверен, что спорт yahoo является одним из них.

Обычно вам необходимо создать приложение для доступа к системе OAuth2, после чего вы получите ClientID и ClientSecret, затем вы нажмете URL-адрес токена и получите токен доступа, который затем действует в течение часа.

Возможно, вы захотите рассмотреть вопрос об отсутствии интеграционных тестов. Если бы я был вами, я бы просто издевался над ответами Api и использовал это в ваших тестах. Итак, пример ответа на каждый вызов, а затем просто создайте фальшивый ответ, который возвращает это, когда вы нажимаете на него. вы можете продолжать тесты.

Вопрос, который вам нужно ответить, таков: что именно я тестирую? Вы тестируете сторонний APi или хотите проверить свой собственный код.

Кроме того, не забывайте, что каждый api позволяет поражать определенное количество раз в течение определенного временного окна. Еще одна причина подделать его, я бы сказал,

Ответ 2

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