From edef58f7526e06bf0912aa8b78ba62a9ed149135 Mon Sep 17 00:00:00 2001 From: Peter Lamut Date: Thu, 23 Jan 2020 11:41:59 +0000 Subject: [PATCH 1/2] feat: add non-None default timeout to AuthorizedSession.request() --- google/auth/transport/requests.py | 18 +++++++++++++----- tests/transport/test_requests.py | 15 +++++++++++++++ 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/google/auth/transport/requests.py b/google/auth/transport/requests.py index ce78e63a8..df4dacc21 100644 --- a/google/auth/transport/requests.py +++ b/google/auth/transport/requests.py @@ -42,6 +42,8 @@ _LOGGER = logging.getLogger(__name__) +_DEFAULT_TIMEOUT = 120 # in seconds + class _Response(transport.Response): """Requests transport response adapter. @@ -141,7 +143,13 @@ def __init__(self, session=None): self.session = session def __call__( - self, url, method="GET", body=None, headers=None, timeout=120, **kwargs + self, + url, + method="GET", + body=None, + headers=None, + timeout=_DEFAULT_TIMEOUT, + **kwargs, ): """Make an HTTP request using requests. @@ -246,8 +254,8 @@ def request( data=None, headers=None, max_allowed_time=None, - timeout=None, - **kwargs + timeout=_DEFAULT_TIMEOUT, + **kwargs, ): """Implementation of Requests' request. @@ -306,7 +314,7 @@ def request( data=data, headers=request_headers, timeout=timeout, - **kwargs + **kwargs, ) remaining_time = guard.remaining_timeout @@ -349,7 +357,7 @@ def request( max_allowed_time=remaining_time, timeout=timeout, _credential_refresh_attempt=_credential_refresh_attempt + 1, - **kwargs + **kwargs, ) return response diff --git a/tests/transport/test_requests.py b/tests/transport/test_requests.py index 8f73d4bd5..f0321c81b 100644 --- a/tests/transport/test_requests.py +++ b/tests/transport/test_requests.py @@ -177,6 +177,21 @@ def test_constructor_with_auth_request(self): assert authed_session._auth_request == auth_request + def test_request_default_timeout(self): + credentials = mock.Mock(wraps=CredentialsStub()) + response = make_response() + adapter = AdapterStub([response]) + + authed_session = google.auth.transport.requests.AuthorizedSession(credentials) + authed_session.mount(self.TEST_URL, adapter) + + patcher = mock.patch("google.auth.transport.requests.requests.Session.request") + with patcher as patched_request: + authed_session.request("GET", self.TEST_URL) + + expected_timeout = google.auth.transport.requests._DEFAULT_TIMEOUT + assert patched_request.call_args.kwargs.get("timeout") == expected_timeout + def test_request_no_refresh(self): credentials = mock.Mock(wraps=CredentialsStub()) response = make_response() From 849438cef77fd2c7fa1b76c7b9f57abc2dcf225e Mon Sep 17 00:00:00 2001 From: Peter Lamut Date: Thu, 23 Jan 2020 12:27:33 +0000 Subject: [PATCH 2/2] Fix syntax in Python <= 3.5 caused by blackening --- google/auth/transport/requests.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/google/auth/transport/requests.py b/google/auth/transport/requests.py index df4dacc21..1c709d4f7 100644 --- a/google/auth/transport/requests.py +++ b/google/auth/transport/requests.py @@ -149,7 +149,7 @@ def __call__( body=None, headers=None, timeout=_DEFAULT_TIMEOUT, - **kwargs, + **kwargs ): """Make an HTTP request using requests. @@ -255,7 +255,7 @@ def request( headers=None, max_allowed_time=None, timeout=_DEFAULT_TIMEOUT, - **kwargs, + **kwargs ): """Implementation of Requests' request. @@ -314,7 +314,7 @@ def request( data=data, headers=request_headers, timeout=timeout, - **kwargs, + **kwargs ) remaining_time = guard.remaining_timeout @@ -357,7 +357,7 @@ def request( max_allowed_time=remaining_time, timeout=timeout, _credential_refresh_attempt=_credential_refresh_attempt + 1, - **kwargs, + **kwargs ) return response