from unittest import mock import pytest from requests.models import Response from slz_appreciationengine_scrapper.const import RATE_LIMIT_MINUTE_THRESHOLD from slz_appreciationengine_scrapper.dsp.util import calculate_requests_delay @pytest.mark.parametrize( 'rate_limit_minute_threshold, input_result', [ ( 90, None, ), ( 85, None, ), ( 84, 0.7143, ), ( 15, 4, ), ( 0, None, ), ( -1, None, ), ] ) def test_calculate_requests_delay(rate_limit_minute_threshold, input_result): resp_mock = mock.MagicMock(spec=Response) resp_mock.headers = {RATE_LIMIT_MINUTE_THRESHOLD: rate_limit_minute_threshold} delay_result = calculate_requests_delay(resp_mock) assert input_result == delay_result