@@ -130,6 +130,10 @@ def _raise_exception(st):
130130
131131TEST_OIDC_CA = _base64 (TEST_CERTIFICATE_AUTH )
132132
133+ TEST_AZURE_LOGIN = TEST_OIDC_LOGIN
134+ TEST_AZURE_TOKEN = "test-azure-token"
135+ TEST_AZURE_TOKEN_FULL = "Bearer " + TEST_AZURE_TOKEN
136+
133137
134138class BaseTestCase (unittest .TestCase ):
135139
@@ -420,6 +424,41 @@ class TestKubeConfigLoader(BaseTestCase):
420424 "user" : "oidc"
421425 }
422426 },
427+ {
428+ "name" : "azure" ,
429+ "context" : {
430+ "cluster" : "default" ,
431+ "user" : "azure"
432+ }
433+ },
434+ {
435+ "name" : "azure_num" ,
436+ "context" : {
437+ "cluster" : "default" ,
438+ "user" : "azure_num"
439+ }
440+ },
441+ {
442+ "name" : "azure_str" ,
443+ "context" : {
444+ "cluster" : "default" ,
445+ "user" : "azure_str"
446+ }
447+ },
448+ {
449+ "name" : "azure_num_error" ,
450+ "context" : {
451+ "cluster" : "default" ,
452+ "user" : "azure_str_error"
453+ }
454+ },
455+ {
456+ "name" : "azure_str_error" ,
457+ "context" : {
458+ "cluster" : "default" ,
459+ "user" : "azure_str_error"
460+ }
461+ },
423462 {
424463 "name" : "expired_oidc" ,
425464 "context" : {
@@ -603,6 +642,89 @@ class TestKubeConfigLoader(BaseTestCase):
603642 }
604643 }
605644 },
645+ {
646+ "name" : "azure" ,
647+ "user" : {
648+ "auth-provider" : {
649+ "config" : {
650+ "access-token" : TEST_AZURE_TOKEN ,
651+ "apiserver-id" : "ApiserverId" ,
652+ "environment" : "AzurePublicCloud" ,
653+ "refresh-token" : "refreshToken" ,
654+ "tenant-id" : "9d2ac018-e843-4e14-9e2b-4e0ddac75433"
655+ },
656+ "name" : "azure"
657+ }
658+ }
659+ },
660+ {
661+ "name" : "azure_num" ,
662+ "user" : {
663+ "auth-provider" : {
664+ "config" : {
665+ "access-token" : TEST_AZURE_TOKEN ,
666+ "apiserver-id" : "ApiserverId" ,
667+ "environment" : "AzurePublicCloud" ,
668+ "expires-in" : "0" ,
669+ "expires-on" : "156207275" ,
670+ "refresh-token" : "refreshToken" ,
671+ "tenant-id" : "9d2ac018-e843-4e14-9e2b-4e0ddac75433"
672+ },
673+ "name" : "azure"
674+ }
675+ }
676+ },
677+ {
678+ "name" : "azure_str" ,
679+ "user" : {
680+ "auth-provider" : {
681+ "config" : {
682+ "access-token" : TEST_AZURE_TOKEN ,
683+ "apiserver-id" : "ApiserverId" ,
684+ "environment" : "AzurePublicCloud" ,
685+ "expires-in" : "0" ,
686+ "expires-on" : "2018-10-18 00:52:29.044727" ,
687+ "refresh-token" : "refreshToken" ,
688+ "tenant-id" : "9d2ac018-e843-4e14-9e2b-4e0ddac75433"
689+ },
690+ "name" : "azure"
691+ }
692+ }
693+ },
694+ {
695+ "name" : "azure_str_error" ,
696+ "user" : {
697+ "auth-provider" : {
698+ "config" : {
699+ "access-token" : TEST_AZURE_TOKEN ,
700+ "apiserver-id" : "ApiserverId" ,
701+ "environment" : "AzurePublicCloud" ,
702+ "expires-in" : "0" ,
703+ "expires-on" : "2018-10-18 00:52" ,
704+ "refresh-token" : "refreshToken" ,
705+ "tenant-id" : "9d2ac018-e843-4e14-9e2b-4e0ddac75433"
706+ },
707+ "name" : "azure"
708+ }
709+ }
710+ },
711+ {
712+ "name" : "azure_num_error" ,
713+ "user" : {
714+ "auth-provider" : {
715+ "config" : {
716+ "access-token" : TEST_AZURE_TOKEN ,
717+ "apiserver-id" : "ApiserverId" ,
718+ "environment" : "AzurePublicCloud" ,
719+ "expires-in" : "0" ,
720+ "expires-on" : "-1" ,
721+ "refresh-token" : "refreshToken" ,
722+ "tenant-id" : "9d2ac018-e843-4e14-9e2b-4e0ddac75433"
723+ },
724+ "name" : "azure"
725+ }
726+ }
727+ },
606728 {
607729 "name" : "expired_oidc" ,
608730 "user" : {
@@ -886,6 +1008,46 @@ def test_oidc_fails_if_invalid_padding_length(self):
8861008 None ,
8871009 )
8881010
1011+ def test_azure_no_refresh (self ):
1012+ loader = KubeConfigLoader (
1013+ config_dict = self .TEST_KUBE_CONFIG ,
1014+ active_context = "azure" ,
1015+ )
1016+ self .assertTrue (loader ._load_auth_provider_token ())
1017+ self .assertEqual (TEST_AZURE_TOKEN_FULL , loader .token )
1018+
1019+ def test_azure_with_expired_num (self ):
1020+ loader = KubeConfigLoader (
1021+ config_dict = self .TEST_KUBE_CONFIG ,
1022+ active_context = "azure_num" ,
1023+ )
1024+ provider = loader ._user ['auth-provider' ]
1025+ self .assertTrue (loader ._azure_is_expired (provider ))
1026+
1027+ def test_azure_with_expired_str (self ):
1028+ loader = KubeConfigLoader (
1029+ config_dict = self .TEST_KUBE_CONFIG ,
1030+ active_context = "azure_str" ,
1031+ )
1032+ provider = loader ._user ['auth-provider' ]
1033+ self .assertTrue (loader ._azure_is_expired (provider ))
1034+
1035+ def test_azure_with_expired_str_error (self ):
1036+ loader = KubeConfigLoader (
1037+ config_dict = self .TEST_KUBE_CONFIG ,
1038+ active_context = "azure_str_error" ,
1039+ )
1040+ provider = loader ._user ['auth-provider' ]
1041+ self .assertRaises (ValueError , loader ._azure_is_expired , provider )
1042+
1043+ def test_azure_with_expired_int_error (self ):
1044+ loader = KubeConfigLoader (
1045+ config_dict = self .TEST_KUBE_CONFIG ,
1046+ active_context = "azure_num_error" ,
1047+ )
1048+ provider = loader ._user ['auth-provider' ]
1049+ self .assertRaises (ValueError , loader ._azure_is_expired , provider )
1050+
8891051 def test_user_pass (self ):
8901052 expected = FakeConfig (host = TEST_HOST , token = TEST_BASIC_TOKEN )
8911053 actual = FakeConfig ()
0 commit comments