@@ -322,6 +322,81 @@ describe('KubeConfig', () => {
322
322
} ) ;
323
323
} ) ;
324
324
325
+ describe ( 'findHome' , ( ) => {
326
+ it ( 'should load from HOME if present' , ( ) => {
327
+ const currentHome = process . env . HOME ;
328
+ const expectedHome = 'foobar' ;
329
+ process . env . HOME = expectedHome ;
330
+ const dir = join ( process . env . HOME , '.kube' ) ;
331
+ const arg = { } ;
332
+ arg [ dir ] = { config : 'data' } ;
333
+ mockfs ( arg ) ;
334
+
335
+ const home = KubeConfig . findHomeDir ( ) ;
336
+
337
+ mockfs . restore ( ) ;
338
+ process . env . HOME = currentHome ;
339
+
340
+ expect ( home ) . to . equal ( expectedHome ) ;
341
+ } ) ;
342
+ } ) ;
343
+
344
+ describe ( 'win32HomeDirTests' , ( ) => {
345
+ let originalPlatform : string ;
346
+
347
+ before ( ( ) => {
348
+ originalPlatform = process . platform ;
349
+ Object . defineProperty ( process , 'platform' , {
350
+ value : 'win32' ,
351
+ } ) ;
352
+ } ) ;
353
+
354
+ after ( ( ) => {
355
+ Object . defineProperty ( process , 'platform' , {
356
+ value : originalPlatform ,
357
+ } ) ;
358
+ } ) ;
359
+
360
+ it ( 'should load from HOMEDRIVE/HOMEPATH if present' , ( ) => {
361
+ const currentHome = process . env . HOME ;
362
+
363
+ delete process . env . HOME ;
364
+ process . env . HOMEDRIVE = 'foo' ;
365
+ process . env . HOMEPATH = 'bar' ;
366
+ const dir = join ( process . env . HOMEDRIVE , process . env . HOMEPATH ) ;
367
+ const arg = { } ;
368
+ arg [ dir ] = { config : 'data' } ;
369
+ mockfs ( arg ) ;
370
+
371
+ const home = KubeConfig . findHomeDir ( ) ;
372
+
373
+ mockfs . restore ( ) ;
374
+ process . env . HOME = currentHome ;
375
+
376
+ expect ( home ) . to . equal ( dir ) ;
377
+ } ) ;
378
+
379
+ it ( 'should load from USERPROFILE if present' , ( ) => {
380
+ const currentHome = process . env . HOME ;
381
+ const dir = 'someplace' ;
382
+
383
+ delete process . env . HOME ;
384
+ process . env . HOMEDRIVE = 'foo' ;
385
+ process . env . HOMEPATH = 'bar' ;
386
+ process . env . USERPROFILE = dir ;
387
+ const arg = { } ;
388
+ arg [ dir ] = { config : 'data' } ;
389
+ mockfs ( arg ) ;
390
+
391
+ const home = KubeConfig . findHomeDir ( ) ;
392
+
393
+ mockfs . restore ( ) ;
394
+ process . env . HOME = currentHome ;
395
+
396
+ expect ( home ) . to . equal ( dir ) ;
397
+ } ) ;
398
+ } ) ;
399
+
325
400
describe ( 'loadContextConfigObjects' , ( ) => {
326
401
it ( 'should fail if name is missing from context' , ( ) => {
327
402
expect ( ( ) => {
@@ -581,7 +656,7 @@ describe('KubeConfig', () => {
581
656
const data = readFileSync ( kcFileName ) ;
582
657
const dir = join ( process . env . HOME , '.kube' ) ;
583
658
const arg = { } ;
584
- arg [ dir ] = { config : data } ;
659
+ arg [ dir ] = { config : data } ;
585
660
mockfs ( arg ) ;
586
661
587
662
const kc = new KubeConfig ( ) ;
0 commit comments