Skip to content
This repository was archived by the owner on Mar 13, 2022. It is now read-only.

Commit b6d14f2

Browse files
Roger Hoem-MartinsenRoger Hoem-Martinsen
Roger Hoem-Martinsen
authored and
Roger Hoem-Martinsen
committed
Add azure config tests
1 parent ad0a3bc commit b6d14f2

File tree

1 file changed

+162
-0
lines changed

1 file changed

+162
-0
lines changed

Diff for: config/kube_config_test.py

+162
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,10 @@ def _raise_exception(st):
130130

131131
TEST_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

134138
class 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

Comments
 (0)