@@ -130,6 +130,10 @@ def _raise_exception(st):
130
130
131
131
TEST_OIDC_CA = _base64 (TEST_CERTIFICATE_AUTH )
132
132
133
+ TEST_AZURE_LOGIN = TEST_OIDC_LOGIN
134
+ TEST_AZURE_TOKEN = "test-azure-token"
135
+ TEST_AZURE_TOKEN_FULL = "Bearer " + TEST_AZURE_TOKEN
136
+
133
137
134
138
class BaseTestCase (unittest .TestCase ):
135
139
@@ -420,6 +424,41 @@ class TestKubeConfigLoader(BaseTestCase):
420
424
"user" : "oidc"
421
425
}
422
426
},
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
+ },
423
462
{
424
463
"name" : "expired_oidc" ,
425
464
"context" : {
@@ -603,6 +642,89 @@ class TestKubeConfigLoader(BaseTestCase):
603
642
}
604
643
}
605
644
},
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
+ },
606
728
{
607
729
"name" : "expired_oidc" ,
608
730
"user" : {
@@ -886,6 +1008,46 @@ def test_oidc_fails_if_invalid_padding_length(self):
886
1008
None ,
887
1009
)
888
1010
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
+
889
1051
def test_user_pass (self ):
890
1052
expected = FakeConfig (host = TEST_HOST , token = TEST_BASIC_TOKEN )
891
1053
actual = FakeConfig ()
0 commit comments