From a901232d754e56c14799319608ab064e045ab36a Mon Sep 17 00:00:00 2001 From: vadym1226 Date: Mon, 22 Jun 2020 20:55:37 +0530 Subject: [PATCH] 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 --- kubernetes/test/test_api_client.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 kubernetes/test/test_api_client.py diff --git a/kubernetes/test/test_api_client.py b/kubernetes/test/test_api_client.py new file mode 100644 index 00000000..f0a9416c --- /dev/null +++ b/kubernetes/test/test_api_client.py @@ -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)