|
20 | 20 | import os
|
21 | 21 | import shutil
|
22 | 22 | import tempfile
|
| 23 | +import time |
23 | 24 | import unittest
|
24 | 25 |
|
25 | 26 | import mock
|
@@ -1152,6 +1153,62 @@ def test_save_changes(self):
|
1152 | 1153 | # new token
|
1153 | 1154 | self.assertEqual(provider.value['id-token'], "token-changed")
|
1154 | 1155 |
|
| 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 | + |
1155 | 1212 |
|
1156 | 1213 | if __name__ == '__main__':
|
1157 | 1214 | unittest.main()
|
0 commit comments