python/kubernetes/test/test_api_client.py
Nabarun Pal dae8285878
Cherry pick test for API client context manager
The implementation and tests were already picked up by the upstream OpenAPI
generator [here](https://github.com/OpenAPITools/openapi-generator/pull/5094).
Patching in the tests here for correctness and clarity.

Reference: https://github.com/kubernetes-client/python/pull/1073

Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2020-07-16 13:42:40 +05:30

26 lines
661 B
Python

# coding: utf-8
import atexit
import weakref
import unittest
import kubernetes
class TestApiClient(unittest.TestCase):
def test_context_manager_closes_threadpool(self):
with kubernetes.client.ApiClient() as client:
self.assertIsNotNone(client.pool)
pool_ref = weakref.ref(client._pool)
self.assertIsNotNone(pool_ref())
self.assertIsNone(pool_ref())
def test_atexit_closes_threadpool(self):
client = kubernetes.client.ApiClient()
self.assertIsNotNone(client.pool)
self.assertIsNotNone(client._pool)
atexit._run_exitfuncs()
self.assertIsNone(client._pool)