@@ -435,17 +435,40 @@ describe('DockerDirManager', () => {
435
435
} ) ;
436
436
437
437
it ( 'should return the right cred helper for the right platform' , async ( ) => {
438
+ jest . spyOn ( subj as any , 'credHelperWorking' ) . mockReturnValue ( true ) ;
438
439
await expect ( subj [ 'getCredsStoreFor' ] ( undefined ) ) . resolves . toEqual ( platformDefaultHelper ) ;
439
440
} ) ;
440
441
441
442
it ( 'should return the platform helper if the existing one does not work' , async ( ) => {
442
- jest . spyOn ( subj as any , 'credHelperWorking' ) . mockResolvedValue ( false ) ;
443
+ jest . spyOn < any , any , ( _ : string ) => Promise < boolean > > ( subj , 'credHelperWorking' ) . mockImplementation ( ( helperName ) => {
444
+ return Promise . resolve ( os . platform ( ) === 'linux' && helperName === 'pass' ) ;
445
+ } ) ;
443
446
await expect ( subj [ 'getCredsStoreFor' ] ( 'broken-helper' ) ) . resolves . toEqual ( platformDefaultHelper ) ;
444
447
} ) ;
445
448
446
- itLinux ( 'should return secretservice when that is the current value' , async ( ) => {
447
- jest . spyOn ( subj as any , 'credHelperWorking' ) . mockResolvedValue ( false ) ;
448
- await expect ( subj [ 'getCredsStoreFor' ] ( 'secretservice' ) ) . resolves . toEqual ( 'secretservice' ) ;
449
+ itLinux ( 'should default to pass when it works' , async ( ) => {
450
+ jest . spyOn < any , any , ( _ : string ) => Promise < boolean > > ( subj , 'credHelperWorking' ) . mockImplementation ( ( helperName ) => {
451
+ expect ( helperName ) . toEqual ( 'pass' ) ;
452
+
453
+ return Promise . resolve ( true ) ;
454
+ } ) ;
455
+ await expect ( subj [ 'getCredsStoreFor' ] ( undefined ) ) . resolves . toEqual ( 'pass' ) ;
456
+ } ) ;
457
+
458
+ itLinux ( 'should default to pass when secretservice is broken' , async ( ) => {
459
+ jest . spyOn < any , any , ( _ : string ) => Promise < boolean > > ( subj , 'credHelperWorking' ) . mockImplementation ( ( helperName ) => {
460
+ return Promise . resolve ( helperName === 'pass' ) ;
461
+ } ) ;
462
+ await expect ( subj [ 'getCredsStoreFor' ] ( 'secretservice' ) ) . resolves . toEqual ( 'pass' ) ;
463
+ } ) ;
464
+
465
+ itLinux ( 'should default to secretservice when pass does not work' , async ( ) => {
466
+ jest . spyOn < any , any , ( _ : string ) => Promise < boolean > > ( subj , 'credHelperWorking' ) . mockImplementation ( ( helperName ) => {
467
+ expect ( helperName ) . toEqual ( 'pass' ) ;
468
+
469
+ return Promise . resolve ( false ) ;
470
+ } ) ;
471
+ await expect ( subj [ 'getCredsStoreFor' ] ( undefined ) ) . resolves . toEqual ( 'secretservice' ) ;
449
472
} ) ;
450
473
} ) ;
451
474
} ) ;
0 commit comments