У меня есть метод, который делает запрос к URL с помощью библиотеки запросов. Время от времени я получаю 401 несанкционированный ответ; когда это происходит, я повторно аутентифицирую свое соединение и вызываю исключение, которое вызывает функцию, чтобы повторить попытку; Вот как это выглядит:
elif response.status_code == 401:
self._conn_auth = api_request(self._key, self._cert)
raise requests.RequestException(f'{url} returned a 401. Refreshing connection and trying again.')
При написании модульного теста, как я могу убедиться, что self._conn_auth
был обновлен или что api_request
был вызван?
Вот что мой текущий тест выглядит так:
@patch('main.common.api_request')
@patch('main.common.requests.get')
def test_unauthorized(m_requests_get, m_api_request, data_getter):
m_requests_get.return_value = MagicMock(status_code=401,
content='')
with pytest.raises(requests.exceptions.RequestException, match='401. Refreshing'):
data_getter.pull_file(url, file)