@@ -150,6 +150,81 @@ describe('KubeConfig', () => {
150
150
const userOut = kc . getCurrentUser ( ) ;
151
151
expect ( userOut ) . to . equal ( user ) ;
152
152
} ) ;
153
+
154
+ } ) ;
155
+
156
+ describe ( 'loadFromCluster' , ( ) => {
157
+ let originalTokenPath : string | undefined ;
158
+
159
+ before ( ( ) => {
160
+ originalTokenPath = process . env [ 'TOKEN_FILE_PATH' ] ;
161
+
162
+ delete process . env [ 'TOKEN_FILE_PATH' ]
163
+ } )
164
+
165
+ after ( ( ) => {
166
+ process . env [ 'TOKEN_FILE_PATH' ] = originalTokenPath
167
+ } )
168
+
169
+ it ( 'should load from default env vars' , ( ) => {
170
+ const kc = new KubeConfig ( ) ;
171
+ const cluster = {
172
+ name : 'inCluster' ,
173
+ server : 'https://undefined:undefined' ,
174
+ skipTLSVerify : false ,
175
+ caFile : '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
176
+ } as Cluster ;
177
+
178
+ const user = {
179
+ authProvider : {
180
+ name : 'tokenFile' ,
181
+ config : {
182
+ tokenFile : '/var/run/secrets/kubernetes.io/serviceaccount/token'
183
+ }
184
+ } ,
185
+ name : 'inClusterUser'
186
+ } as User ;
187
+
188
+ kc . loadFromCluster ( ) ;
189
+
190
+ const clusterOut = kc . getCurrentCluster ( ) ;
191
+
192
+ expect ( cluster ) . to . deep . equals ( clusterOut )
193
+
194
+ const userOut = kc . getCurrentUser ( ) ;
195
+ expect ( userOut ) . to . deep . equals ( user ) ;
196
+ } ) ;
197
+
198
+ it ( 'should support custom token file path' , ( ) => {
199
+ const kc = new KubeConfig ( ) ;
200
+ process . env [ 'TOKEN_FILE_PATH' ] = '/etc/tokenFile'
201
+ const cluster = {
202
+ name : 'inCluster' ,
203
+ server : 'https://undefined:undefined' ,
204
+ skipTLSVerify : false ,
205
+ caFile : '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
206
+ } as Cluster ;
207
+
208
+ const user = {
209
+ authProvider : {
210
+ name : 'tokenFile' ,
211
+ config : {
212
+ tokenFile : '/etc/tokenFile'
213
+ }
214
+ } ,
215
+ name : 'inClusterUser'
216
+ } as User ;
217
+
218
+ kc . loadFromCluster ( ) ;
219
+
220
+ const clusterOut = kc . getCurrentCluster ( ) ;
221
+
222
+ expect ( cluster ) . to . deep . equals ( clusterOut )
223
+
224
+ const userOut = kc . getCurrentUser ( ) ;
225
+ expect ( userOut ) . to . deep . equals ( user ) ;
226
+ } ) ;
227
+
153
228
} ) ;
154
229
155
230
describe ( 'clusterConstructor' , ( ) => {
@@ -490,6 +565,7 @@ describe('KubeConfig', () => {
490
565
originalEnvVars . USERPROFILE = process . env . USERPROFILE ;
491
566
originalEnvVars . HOMEDRIVE = process . env . HOMEDRIVE ;
492
567
originalEnvVars . HOMEPATH = process . env . HOMEPATH ;
568
+
493
569
494
570
delete process . env . HOME ;
495
571
delete process . env . USERPROFILE ;
0 commit comments