def test_response_is_returned(mock_requests): downloader = Downloader() mock_requests.return_value = create_ok_return_value() res = downloader.fetch_url(FAKE_COOKIE, FAKE_URL) assert res == create_ok_return_value() mock_requests.assert_called_once_with(url=ANY, headers=ANY, allow_redirects=ANY, timeout=ANY)
def test_retries_when_service_unavailable_then_ok(mock_requests): downloader = Downloader() mock_requests.side_effect = [ create_service_unavailable_return_value(), create_ok_return_value() ] res = downloader.fetch_url(FAKE_COOKIE, FAKE_URL, retries=3) assert res == create_ok_return_value() mock_requests.assert_has_calls([ call(url=ANY, headers=ANY, allow_redirects=ANY, timeout=ANY), call(url=ANY, headers=ANY, allow_redirects=ANY, timeout=ANY) ])
def test_timeout_is_passed(mock_requests): downloader = Downloader() mock_requests.return_value = create_ok_return_value() downloader.fetch_url(FAKE_COOKIE, FAKE_URL, timeout_secs=3600) mock_requests.assert_called_once_with(timeout=3600, url=ANY, headers=ANY, allow_redirects=ANY)
def test_redirect_is_enabled(mock_requests): downloader = Downloader() mock_requests.return_value = create_ok_return_value() downloader.fetch_url(FAKE_COOKIE, FAKE_URL) mock_requests.assert_called_once_with(allow_redirects=True, url=ANY, headers=ANY, timeout=ANY)
def test_cookie_is_passed_in_headers(mock_requests): downloader = Downloader() mock_requests.return_value = create_ok_return_value() downloader.fetch_url(FAKE_COOKIE, FAKE_URL) expected_headers = { 'accept-language': 'en-GB,en-US;q=0.9,en;q=0.8', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 ' + '(KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36', 'cookie': FAKE_COOKIE } mock_requests.assert_called_once_with(headers=expected_headers, url=ANY, allow_redirects=ANY, timeout=ANY)