"""backoff_requests module tests.""" from unittest.mock import call, patch import pytest from requests.exceptions import ConnectionError as RequestsConnectionError from payee.config import Config from payee.utils import backoff_requests @patch( 'payee.utils.backoff_requests.requests.post', side_effect=RequestsConnectionError('Connection Error'), ) def test_post(mock_requests_post, faker): """Test create mass payouts backoff success.""" url = faker.url() payload = faker.pydict(value_types=(int, str, bool, float)) with pytest.raises(RequestsConnectionError): backoff_requests.post(url, json=payload) assert mock_requests_post.call_count == Config.MAX_BACKOFF_TRIES assert ( mock_requests_post.call_args_list == [call(url, json=payload)] * Config.MAX_BACKOFF_TRIES )