Skip to content

Commit 931a265

Browse files
committed
Added test cases for rest api timeout parameter
1 parent e4d3ea1 commit 931a265

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import asyncio
2+
import unittest
3+
from unittest.mock import AsyncMock
4+
import aiohttp
5+
from kubernetes_asyncio.client.rest import RESTClientObject
6+
from kubernetes_asyncio.client.configuration import Configuration
7+
class TestRESTClientObject(unittest.IsolatedAsyncioTestCase):
8+
9+
@classmethod
10+
def setUpClass(cls):
11+
cls.config = Configuration()
12+
13+
14+
async def test_rest_request_timeout(self):
15+
rest_api = RESTClientObject(configuration=self.config)
16+
for request_timeout, expected_timeout_arg in [
17+
(None, aiohttp.ClientTimeout()),
18+
(5.0, aiohttp.ClientTimeout(total=5.0)),
19+
(3, aiohttp.ClientTimeout(total=3)),
20+
((5, 7), aiohttp.ClientTimeout(connect=5, sock_connect=5, sock_read=7)),
21+
]:
22+
with self.subTest(request_timeout=request_timeout, expected_timeout_arg=expected_timeout_arg):
23+
mock_request = AsyncMock()
24+
rest_api.pool_manager.request = mock_request
25+
await rest_api.request(method="GET", url="http://test-api", _preload_content=False, _request_timeout=request_timeout)
26+
mock_request.assert_called_once_with(
27+
method="GET",
28+
url="http://test-api",
29+
timeout=expected_timeout_arg,
30+
headers={"Content-Type": "application/json"}
31+
)

0 commit comments

Comments
 (0)