Атрибут экземпляра утверждения обновлен или вызван метод - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть метод, который делает запрос к 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)
...