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

Commit 18df666

Browse files
Add tests to exercise expires-on logic
1 parent 99fac99 commit 18df666

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

config/kube_config_test.py

+57
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import os
2121
import shutil
2222
import tempfile
23+
import time
2324
import unittest
2425

2526
import mock
@@ -1152,6 +1153,62 @@ def test_save_changes(self):
11521153
# new token
11531154
self.assertEqual(provider.value['id-token'], "token-changed")
11541155

1156+
@mock.patch('time')
1157+
def test___load_azure_token(self, mock_time):
1158+
class TestKubeConfigLoader(KubeConfigLoader):
1159+
def __init__(self):
1160+
self.refresh_called = 0
1161+
1162+
def _refresh_azure_token(self, param_1):
1163+
self.refresh_called += 1
1164+
1165+
time.gmtime = mock.Mock(return_value=time.struct_time(
1166+
tm_year=2019, tm_mon=5, tm_mday=10, tm_hour=14, tm_min=47, tm_sec=31, tm_wday=4, tm_yday=130, tm_isdst=0))
1167+
1168+
fake_provider_expires_on_int_old = {
1169+
"config": "dummy",
1170+
"access-token": "dummy",
1171+
"expires-on": 1555503941 # 17 April 2019
1172+
}
1173+
1174+
fake_provider_expires_on_int_new = {
1175+
"config": "dummy",
1176+
"access-token": "dummy",
1177+
"expires-on": 1585555941 # 30 March 2020
1178+
}
1179+
1180+
fake_provider_expires_on_datestring_old = {
1181+
"config": "dummy",
1182+
"access-token": "dummy",
1183+
"expires-on": "2018-02-03 14:56:48.999"
1184+
}
1185+
1186+
fake_provider_expires_on_datestring_new = {
1187+
"config": "dummy",
1188+
"access-token": "dummy",
1189+
"expires-on": "2021-02-03 14:56:48.999"
1190+
}
1191+
1192+
test_kube_config_loader = TestKubeConfigLoader()
1193+
test_kube_config_loader._load_azure_token(
1194+
fake_provider_expires_on_int_old)
1195+
self.assertEqual(test_kube_config_loader.refresh_called, 0)
1196+
1197+
test_kube_config_loader = TestKubeConfigLoader()
1198+
test_kube_config_loader._load_azure_token(
1199+
fake_provider_expires_on_datestring_old)
1200+
self.assertEqual(test_kube_config_loader.refresh_called, 0)
1201+
1202+
test_kube_config_loader = TestKubeConfigLoader()
1203+
test_kube_config_loader._load_azure_token(
1204+
fake_provider_expires_on_int_new)
1205+
self.assertEqual(test_kube_config_loader.refresh_called, 1)
1206+
1207+
test_kube_config_loader = TestKubeConfigLoader()
1208+
test_kube_config_loader._load_azure_token(
1209+
fake_provider_expires_on_datestring_new)
1210+
self.assertEqual(test_kube_config_loader.refresh_called, 1)
1211+
11551212

11561213
if __name__ == '__main__':
11571214
unittest.main()

0 commit comments

Comments
 (0)