Skip to content

Commit a901232

Browse files
author
vadym1226
committed
Cherry pick test for API client context manager
The implementation and tests were already picked up by the upstream OpenAPI generator [here](OpenAPITools/openapi-generator#5094). Patching in the tests here for correctness and clarity. Reference: kubernetes-client/python#1073 Signed-off-by: Nabarun Pal <[email protected]>
1 parent 8592d12 commit a901232

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

kubernetes/test/test_api_client.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# coding: utf-8
2+
3+
4+
import atexit
5+
import weakref
6+
import unittest
7+
8+
import kubernetes
9+
10+
11+
class TestApiClient(unittest.TestCase):
12+
13+
def test_context_manager_closes_threadpool(self):
14+
with kubernetes.client.ApiClient() as client:
15+
self.assertIsNotNone(client.pool)
16+
pool_ref = weakref.ref(client._pool)
17+
self.assertIsNotNone(pool_ref())
18+
self.assertIsNone(pool_ref())
19+
20+
def test_atexit_closes_threadpool(self):
21+
client = kubernetes.client.ApiClient()
22+
self.assertIsNotNone(client.pool)
23+
self.assertIsNotNone(client._pool)
24+
atexit._run_exitfuncs()
25+
self.assertIsNone(client._pool)

0 commit comments

Comments
 (0)