Как использовать правильный URL-адрес перенаправления oAuth2 в тестовом примере Django? - PullRequest
0 голосов
/ 16 мая 2018

Мое веб-приложение Django использует oAuth2 для аутентификации в Страве.

  1. У меня есть ссылка на моей веб-странице, которая отправляет запрос Страве с указанием URL-адреса перенаправления среди других аргументов. В этом примере http://127.0.0.1:8000/token_exchange

  2. Затем Страва отправляет запрос на этот URL с кодом для обмена на токен доступа. У меня есть мнение, что делает этот обмен в этом URL.

Все отлично работает.

Моя проблема в том, что я пытаюсь создать автоматизированный тест. Но когда я запускаю тесты (с тестом python manage.py), сервер работает не через порт 8000, а через другой порт.

Есть ли лучший способ управления этим URL-адресом перенаправления, чтобы он имел рабочий домен в рабочей среде, но использовал адрес тестового сервера при выполнении тестов?

Спасибо !!!

1 Ответ

0 голосов
/ 16 мая 2018

Цель модульного тестирования состоит в том, чтобы изолировать каждую часть программы и показать, что отдельные части верны.

https://en.wikipedia.org/wiki/Unit_testing#Advantages

Если вы пишете юнит-тесты, а не сложные интеграционные тесты, лучшая практика - просто издеваться над этим поведением.

В документации по Python есть замечательное руководство по библиотеке unittest.mock о том, как обезьяна исправляет все поведение, которое вы не тестируете в данном конкретном случае: https://docs.python.org/3/library/unittest.mock-examples.html

Кроме того, вы обязательно должны проверить библиотеку responses, это действительно полезно, когда вы пытаетесь протестировать детали, которые используют сторонние сервисы: https://github.com/getsentry/responses

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...