kubernetes_asyncio.config.kube_config_test module

class kubernetes_asyncio.config.kube_config_test.BaseTestCase(methodName='runTest')

Bases: IsolatedAsyncioTestCase

async async_expect_exception(func, message_part, *args, **kwargs) None
expect_exception(func, message_part, *args, **kwargs) None
setUp() None

Hook method for setting up the test fixture before exercising it.

tearDown() None

Hook method for deconstructing the test fixture after testing it.

class kubernetes_asyncio.config.kube_config_test.FakeConfig(token=None, **kwargs)

Bases: object

FILE_KEYS = ['ssl_ca_cert', 'key_file', 'cert_file']
class kubernetes_asyncio.config.kube_config_test.TestConfigNode(methodName='runTest')

Bases: BaseTestCase

setUp() None

Hook method for setting up the test fixture before exercising it.

test_get_with_name() None
test_get_with_name_on_duplicate_name() None
test_get_with_name_on_invalid_object() None
test_get_with_name_on_name_does_not_exists() None
test_get_with_name_on_non_list_object() None
test_key_does_not_exists() None
test_normal_map_array_operations() None
test_obj = {'key1': 'test', 'key2': ['a', 'b', 'c'], 'key3': {'inner_key': 'inner_value'}, 'with_names': [{'name': 'test_name', 'value': 'test_value'}, {'name': 'test_name2', 'value': {'key1', 'test'}}, {'name': 'test_name3', 'value': [1, 2, 3]}], 'with_names_dup': [{'name': 'test_name', 'value': 'test_value'}, {'name': 'test_name', 'value': {'key1', 'test'}}, {'name': 'test_name3', 'value': [1, 2, 3]}]}
class kubernetes_asyncio.config.kube_config_test.TestFileOrData(methodName='runTest')

Bases: BaseTestCase

static get_file_content(filename) str
test_data_given_data() None
test_data_given_file() None
test_data_given_file_and_data() None
test_data_given_file_no_base64() None
test_file_given_data() None
test_file_given_data_bytes() None
test_file_given_data_bytes_no_base64() None
test_file_given_data_no_base64() None
test_file_given_file() None
test_file_given_file_and_data() None
test_file_given_non_existing_file() None
test_file_with_custom_dirname() None
class kubernetes_asyncio.config.kube_config_test.TestKubeConfigLoader(methodName='runTest')

Bases: BaseTestCase

TEST_KUBE_CONFIG: dict[str, Any] = {'clusters': [{'cluster': {'server': 'test-host'}, 'name': 'default'}, {'cluster': {'certificate-authority': 'cert-auth', 'server': 'https://test-host'}, 'name': 'ssl-no_file'}, {'cluster': {'certificate-authority': 'cert_test', 'server': 'https://test-host'}, 'name': 'ssl-local-file'}, {'cluster': {'certificate-authority-data': 'Y2VydC1hdXRo', 'insecure-skip-tls-verify': False, 'server': 'https://test-host'}, 'name': 'ssl'}, {'cluster': {'insecure-skip-tls-verify': True, 'server': 'https://test-host'}, 'name': 'no_ssl_verification'}, {'cluster': {'insecure-skip-tls-verify': False, 'server': 'https://test-host'}, 'name': 'ssl_verification'}, {'cluster': {'certificate-authority-data': 'Y2VydC1hdXRo', 'insecure-skip-tls-verify': False, 'server': 'https://test-host', 'tls-server-name': 'kubernetes.io'}, 'name': 'tls-server-name'}, {'cluster': {'proxy-url': 'http://proxy.example.com:3128', 'server': 'test-host'}, 'name': 'proxy_cluster'}], 'contexts': [{'context': {'cluster': 'default'}, 'name': 'no_user'}, {'context': {'cluster': 'default', 'user': 'simple_token'}, 'name': 'simple_token'}, {'context': {'cluster': 'default', 'user': 'gcp'}, 'name': 'gcp'}, {'context': {'cluster': 'default', 'user': 'expired_gcp'}, 'name': 'expired_gcp'}, {'context': {'cluster': 'default', 'user': 'oidc'}, 'name': 'oidc'}, {'context': {'cluster': 'default', 'user': 'expired_oidc'}, 'name': 'expired_oidc'}, {'context': {'cluster': 'default', 'user': 'expired_oidc_no_idp_cert_data'}, 'name': 'expired_oidc_no_idp_cert_data'}, {'context': {'cluster': 'default', 'user': 'user_pass'}, 'name': 'user_pass'}, {'context': {'cluster': 'ssl', 'user': 'ssl'}, 'name': 'ssl'}, {'context': {'cluster': 'no_ssl_verification', 'user': 'ssl'}, 'name': 'no_ssl_verification'}, {'context': {'cluster': 'ssl_verification', 'user': 'ssl'}, 'name': 'ssl_verification'}, {'context': {'cluster': 'proxy_cluster', 'user': 'simple_token'}, 'name': 'proxy_cluster_context'}, {'context': {'cluster': 'ssl-no_file', 'user': 'ssl-no_file'}, 'name': 'ssl-no_file'}, {'context': {'cluster': 'ssl-local-file', 'user': 'ssl-local-file'}, 'name': 'ssl-local-file'}, {'context': {'cluster': 'default', 'user': 'non_existing_user'}, 'name': 'non_existing_user'}, {'context': {'cluster': 'default', 'user': 'exec_cred_user'}, 'name': 'exec_cred_user'}, {'context': {'cluster': 'ssl', 'user': 'exec_cred_user_certificate'}, 'name': 'exec_cred_user_certificate'}, {'context': {'cluster': 'tls-server-name', 'user': 'ssl'}, 'name': 'tls-server-name'}], 'current-context': 'no_user', 'users': [{'name': 'simple_token', 'user': {'password': 'pass', 'token': 'dGVzdC1kYXRh', 'username': 'me'}}, {'name': 'gcp', 'user': {'auth-provider': {'config': {'access-token': 'dGVzdC1kYXRh'}, 'name': 'gcp'}, 'password': 'pass', 'token': 'dGVzdC1kYXRh', 'username': 'me'}}, {'name': 'expired_gcp', 'user': {'auth-provider': {'config': {'access-token': 'dGVzdC1kYXRh', 'expiry': '2000-01-01T12:00:00Z'}, 'name': 'gcp'}, 'password': 'pass', 'token': 'dGVzdC1kYXRh', 'username': 'me'}}, {'name': 'oidc', 'user': {'auth-provider': {'config': {'id-token': 'dGVzdC1vaWRjLXRva2Vu.eyJuYW1lIjogInRlc3QifQ==.Y2xpZW50LWNlcnQ='}, 'name': 'oidc'}}}, {'name': 'expired_oidc', 'user': {'auth-provider': {'config': {'client-id': 'tectonic-kubectl', 'client-secret': 'FAKE_SECRET', 'id-token': 'QmVhcmVyIGRHVnpkQzF2YVdSakxYUnZhMlZ1LmV5SnVZVzFsSWpvZ0luUmxjM1FpZlE9PS5ZMnhwWlc1MExXTmxjblE9.eyJuYW1lIjogInRlc3QiLCJleHAiOiA1MzY0NTc2MDB9.Y2xpZW50LWNlcnQ=', 'idp-certificate-authority-data': 'Y2VydC1hdXRo', 'idp-issuer-url': 'https://example.localhost/identity', 'refresh-token': 'lucWJjEhlxZW01cXI3YmVlcYnpxNGhzk'}, 'name': 'oidc'}}}, {'name': 'expired_oidc_no_idp_cert_data', 'user': {'auth-provider': {'config': {'client-id': 'tectonic-kubectl', 'client-secret': 'FAKE_SECRET', 'id-token': 'QmVhcmVyIGRHVnpkQzF2YVdSakxYUnZhMlZ1LmV5SnVZVzFsSWpvZ0luUmxjM1FpZlE9PS5ZMnhwWlc1MExXTmxjblE9.eyJuYW1lIjogInRlc3QiLCJleHAiOiA1MzY0NTc2MDB9.Y2xpZW50LWNlcnQ=', 'idp-issuer-url': 'https://example.localhost/identity', 'refresh-token': 'lucWJjEhlxZW01cXI3YmVlcYnpxNGhzk'}, 'name': 'oidc'}}}, {'name': 'user_pass', 'user': {'password': 'pass', 'username': 'me'}}, {'name': 'ssl-no_file', 'user': {'client-certificate': 'client-cert', 'client-key': 'client-key', 'token': 'dGVzdC1kYXRh'}}, {'name': 'ssl-local-file', 'user': {'client-certificate': 'client_cert', 'client-key': 'client_key', 'tokenFile': 'token_file'}}, {'name': 'ssl', 'user': {'client-certificate-data': 'Y2xpZW50LWNlcnQ=', 'client-key-data': 'Y2xpZW50LWtleQ==', 'token': 'dGVzdC1kYXRh'}}, {'name': 'exec_cred_user', 'user': {'exec': {'apiVersion': 'client.authentication.k8s.io/v1beta1', 'args': ['token', '-i', 'dummy-cluster'], 'command': 'aws-iam-authenticator'}}}, {'name': 'exec_cred_user_certificate', 'user': {'exec': {'apiVersion': 'client.authentication.k8s.io/v1beta1', 'args': [], 'command': 'custom-certificate-authenticator'}}}]}
async test_async_load_gcp_token_with_refresh() None
test_current_context() None
async test_gcp_no_refresh() None
async test_invalid_oidc_configs() None
async test_invalid_refresh() None
test_list_contexts() None
test_list_kube_config_contexts() None
async test_load_config_helper() None
async test_load_gcp_token_no_refresh() None
async test_load_gcp_token_with_refresh() None
async test_load_kube_config() None
async test_load_kube_config_from_dict() None
async test_load_kube_config_from_dict_with_temp_file_path() None
test_load_user_pass_token() None
test_load_user_token() None
async test_new_client_from_config() None
async test_new_client_from_config_dict() None
async test_new_client_from_config_proxy() None
async test_no_user_context() None
async test_no_users_section() None
async test_non_existing_user() None
async test_oidc_no_refresh() None
async test_oidc_with_refresh(mock_refresh_token) None
async test_oidc_with_refresh_no_idp_cert_data(mock_refresh_token) None
async test_proxy_url_from_cluster() None
async test_refresh_exec_token() None
async test_refresh_gcp_token() None
test_set_active_context() None
async test_simple_token() None
async test_ssl() None
async test_ssl_no_cert_files() None
async test_ssl_no_verification() None
async test_ssl_verification() None
async test_ssl_with_relative_ssl_files() None
async test_tls_server_name() None
async test_user_exec_auth(mock) None
async test_user_exec_auth_certificates(mock) None
async test_user_pass() None
class kubernetes_asyncio.config.kube_config_test.TestKubeConfigMerger(methodName='runTest')

Bases: BaseTestCase

TEST_KUBE_CONFIG_SET1 = [{'clusters': [{'cluster': {'server': 'test-host'}, 'name': 'default'}], 'contexts': [{'context': {'cluster': 'default'}, 'name': 'no_user'}], 'current-context': 'no_user', 'users': []}, {'clusters': [{'cluster': {'certificate-authority-data': 'Y2VydC1hdXRo', 'server': 'https://test-host'}, 'name': 'ssl'}], 'contexts': [{'context': {'cluster': 'ssl', 'user': 'ssl'}, 'name': 'ssl'}, {'context': {'cluster': 'default', 'user': 'simple_token'}, 'name': 'simple_token'}], 'current-context': '', 'users': [{'name': 'ssl', 'user': {'client-certificate-data': 'Y2xpZW50LWNlcnQ=', 'client-key-data': 'Y2xpZW50LWtleQ==', 'token': 'dGVzdC1kYXRh'}}]}, {'clusters': [], 'contexts': [{'context': {'cluster': 'default', 'user': 'expired_oidc'}, 'name': 'expired_oidc'}, {'context': {'cluster': 'skipped-part2-defined-this-context', 'user': 'skipped'}, 'name': 'ssl'}], 'current-context': 'expired_oidc', 'users': [{'name': 'expired_oidc', 'user': {'auth-provider': {'config': {'client-id': 'tectonic-kubectl', 'client-secret': 'FAKE_SECRET', 'id-token': 'QmVhcmVyIGRHVnpkQzF2YVdSakxYUnZhMlZ1LmV5SnVZVzFsSWpvZ0luUmxjM1FpZlE9PS5ZMnhwWlc1MExXTmxjblE9.eyJuYW1lIjogInRlc3QiLCJleHAiOiA1MzY0NTc2MDB9.Y2xpZW50LWNlcnQ=', 'idp-certificate-authority-data': 'Y2VydC1hdXRo', 'idp-issuer-url': 'https://example.org/identity', 'refresh-token': 'lucWJjEhlxZW01cXI3YmVlcYnpxNGhzk'}, 'name': 'oidc'}}}, {'name': 'simple_token', 'user': {'password': 'pass', 'token': 'dGVzdC1kYXRh', 'username': 'me'}}]}]
TEST_KUBE_CONFIG_SET2 = [{'clusters': [{'cluster': {'server': 'test-host'}, 'name': 'default'}]}, {'contexts': [{'context': {'cluster': 'default', 'user': 'simple_token'}, 'name': 'simple_token'}], 'current-context': 'simple_token'}, {'users': [{'name': 'simple_token', 'user': {'password': 'pass', 'token': 'dGVzdC1kYXRh', 'username': 'me'}}]}]
test_list_kube_config_contexts() None
async test_merge_with_context_in_different_file() None
async test_new_client_from_config() None
test_save_changes() None