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>
This commit is contained in:
Nabarun Pal 2020-06-22 20:55:37 +05:30
parent 146119213c
commit dae8285878
No known key found for this signature in database
GPG Key ID: 611D5079D826B150

View File

@ -0,0 +1,25 @@
# 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)