adding ability for APIRequest to retry and save to a file (#4677)

* re-adding ability for APIRequest to retry and save to a file

* [autofix.ci] apply automated fixes

* enabling selective inclusion of httpx headers, along with response header

* [autofix.ci] apply automated fixes

* Update api_request.py

* [autofix.ci] apply automated fixes

* Update test_data_components.py

* Update test_data_components.py

* [autofix.ci] apply automated fixes

* Update api_request.py

* Update api_request.py

* Update api_request.py

* Update api_request.py

* Update api_request.py

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
This commit is contained in:
Phil Miesle 2024-11-26 03:58:48 +00:00 • committed by GitHub
commit 654b44347b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 205 additions and 24 deletions

View file

@ -24,7 +24,12 @@ async def test_successful_get_request(api_request):
respx.get(url).mock(return_value=Response(200, json=mock_response))
# Making the request
result = await api_request.make_request(client=httpx.AsyncClient(), method=method, url=url)
result = await api_request.make_request(
client=httpx.AsyncClient(),
method=method,
url=url,
include_httpx_metadata=True,
)
# Assertions
assert result.data["status_code"] == 200
@ -60,7 +65,9 @@ async def test_failed_request(api_request):
respx.get(url).mock(return_value=Response(404))
# Making the request
result = await api_request.make_request(client=httpx.AsyncClient(), method=method, url=url)
result = await api_request.make_request(
client=httpx.AsyncClient(), method=method, url=url, include_httpx_metadata=True
)
# Assertions
assert result.data["status_code"] == 404
@ -74,7 +81,9 @@ async def test_timeout(api_request):
respx.get(url).mock(side_effect=httpx.TimeoutException(message="Timeout", request=None))
# Making the request
result = await api_request.make_request(client=httpx.AsyncClient(), method=method, url=url, timeout=1)
result = await api_request.make_request(
client=httpx.AsyncClient(), method=method, url=url, timeout=1, include_httpx_metadata=True
)
# Assertions
assert result.data["status_code"] == 408