@@ -435,17 +435,40 @@ describe('DockerDirManager', () => {
435435 } ) ;
436436
437437 it ( 'should return the right cred helper for the right platform' , async ( ) => {
438+ jest . spyOn ( subj as any , 'credHelperWorking' ) . mockReturnValue ( true ) ;
438439 await expect ( subj [ 'getCredsStoreFor' ] ( undefined ) ) . resolves . toEqual ( platformDefaultHelper ) ;
439440 } ) ;
440441
441442 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+ } ) ;
443446 await expect ( subj [ 'getCredsStoreFor' ] ( 'broken-helper' ) ) . resolves . toEqual ( platformDefaultHelper ) ;
444447 } ) ;
445448
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' ) ;
449472 } ) ;
450473 } ) ;
451474} ) ;
0 commit comments