From 6bb9dc253d665e00b77282d872e767ba9a831230 Mon Sep 17 00:00:00 2001 From: Kegan Maher Date: Thu, 14 Sep 2023 18:55:02 +0000 Subject: [PATCH] fix(client): timeout parameter with default --- eligibility_api/client.py | 4 +++- tests/test_client.py | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/eligibility_api/client.py b/eligibility_api/client.py index 1259f61..c7aeb80 100644 --- a/eligibility_api/client.py +++ b/eligibility_api/client.py @@ -29,6 +29,7 @@ def __init__( jwe_cek_enc, server_public_key, headers={}, + timeout=5, ): self.verify_url = verify_url @@ -44,6 +45,7 @@ def __init__( raise ValueError('"Authorization" should not be set as an additional header.') self.headers = headers + self.timeout = timeout def _tokenize_request(self, sub, name, types): """Create a request token.""" @@ -91,7 +93,7 @@ def _request(self, sub, name, types): try: logger.debug(f"GET request to {self.verify_url}") - r = requests.get(self.verify_url, headers=self._auth_headers(token)) + r = requests.get(self.verify_url, headers=self._auth_headers(token), timeout=self.timeout) except requests.ConnectionError: raise ApiError("Connection to verification server failed") except requests.Timeout: diff --git a/tests/test_client.py b/tests/test_client.py index 255a86c..a3a46fc 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -103,6 +103,16 @@ def test_create_valid_client(): pytest.fail("Failed to create valid Client") +def test_create_valid_client_timeout(): + client = Client(**valid_configuration()) + + assert client.timeout == 5 + + client = Client(**valid_configuration(), timeout=1000) + + assert client.timeout == 1000 + + @pytest.mark.parametrize("header_name", ["Authorization", "authorization", "AuThOrIzAtIoN"]) def test_create_invalid_client_bad_headers(header_name): headers = {header_name: "value"}