@@ -523,33 +523,66 @@ void setUp() {
523523 }
524524
525525 @ Test
526- void givenException_thenHandleExceptions () {
527- ZosmfService zosmfService = getZosmfServiceWithValidationStrategy (Collections . singletonList ( tokenValidationStrategy1 ) );
526+ void givenFirstValidationStrategyFailed_thenSecondSucceeds () {
527+ ZosmfService zosmfService = getZosmfServiceWithValidationStrategy (validationStrategyList );
528528
529529 doThrow (RuntimeException .class ).when (tokenValidationStrategy1 ).validate (any ());
530- assertDoesNotThrow (() -> zosmfService .validate ("TOKN" ));
530+ doValidate (tokenValidationStrategy2 , TokenValidationRequest .STATUS .AUTHENTICATED );
531+
532+ var validationResult = assertDoesNotThrow (() -> zosmfService .validate ("TOKN" ));
533+ assertTrue (validationResult );
534+
535+ verify (tokenValidationStrategy1 , times (1 )).validate (any ());
536+ verify (tokenValidationStrategy2 , times (1 )).validate (any ());
537+ }
538+
539+ @ Test
540+ void givenAllValidationStrategiesFail_thenThrowException () {
541+ ZosmfService zosmfService = getZosmfServiceWithValidationStrategy (validationStrategyList );
542+
543+ doThrow (RuntimeException .class ).when (tokenValidationStrategy1 ).validate (any ());
544+ doThrow (RuntimeException .class ).when (tokenValidationStrategy2 ).validate (any ());
545+
546+ assertThrows (ServiceNotAccessibleException .class , () -> zosmfService .validate ("TOKN" ));
547+
548+ verify (tokenValidationStrategy1 , times (1 )).validate (any ());
549+ verify (tokenValidationStrategy2 , times (1 )).validate (any ());
531550 }
532551
552+ @ Test
553+ void givenAllValidationStrategiesReturnInvalid_thenReturnFalse () {
554+ ZosmfService zosmfService = getZosmfServiceWithValidationStrategy (validationStrategyList );
555+
556+ doValidate (tokenValidationStrategy1 , TokenValidationRequest .STATUS .INVALID );
557+ doValidate (tokenValidationStrategy2 , TokenValidationRequest .STATUS .INVALID );
558+
559+ assertThrows (TokenNotValidException .class , () -> zosmfService .validate ("TOKN" ));
560+
561+ verify (tokenValidationStrategy1 , times (1 )).validate (any ());
562+ verify (tokenValidationStrategy2 , times (1 )).validate (any ());
563+ }
564+
565+
533566 @ Test
534567 void givenOneValidationStrategy_thenReturnValidationStrategyResult () {
535568 ZosmfService zosmfService = getZosmfServiceWithValidationStrategy (Collections .singletonList (tokenValidationStrategy1 ));
536569
537570 //UNKNOWN by default
538- assertThat ( zosmfService .validate ("TOKN" ), is ( false ));
571+ assertThrows ( TokenNotValidException . class , () -> zosmfService .validate ("TOKN" ));
539572
540573 doValidate (tokenValidationStrategy1 , TokenValidationRequest .STATUS .AUTHENTICATED );
541574
542575 assertThat (zosmfService .validate ("TOKN" ), is (true ));
543576
544577 doValidate (tokenValidationStrategy1 , TokenValidationRequest .STATUS .INVALID );
545- assertThat ( zosmfService .validate ("TOKN" ), is ( false ));
578+ assertThrows ( TokenNotValidException . class , () -> zosmfService .validate ("TOKN" ));
546579 }
547580
548581 @ Test
549582 void givenFirstValidationStrategyAuthentications_thenDontUseSecondValidationStrategy () {
550583 ZosmfService zosmfService = getZosmfServiceWithValidationStrategy (validationStrategyList );
551584
552- assertThat ( zosmfService .validate ("TOKN" ), is ( false ));
585+ assertThrows ( TokenNotValidException . class , () -> zosmfService .validate ("TOKN" ));
553586 verify (tokenValidationStrategy1 , times (1 )).validate (any ());
554587 verify (tokenValidationStrategy2 , times (1 )).validate (any ());
555588
@@ -571,19 +604,10 @@ void givenFirstStrategyInvalidAndSecondValid_thenTokenIsValid() {
571604 verify (tokenValidationStrategy2 , times (1 )).validate (any ());
572605 }
573606
574- @ Test
575- void doesNotRethrowExceptionsFromValidationStrategies () {
576- ZosmfService zosmfService = getZosmfServiceWithValidationStrategy (Collections .singletonList (tokenValidationStrategy1 ));
577- TokenValidationRequest request = mock (TokenValidationRequest .class );
578-
579- lenient ().doThrow (RuntimeException .class ).when (tokenValidationStrategy1 ).validate (request );
580- assertDoesNotThrow (() -> zosmfService .validate ("TOKN" ));
581- }
582-
583607 @ Test
584608 void suppliesValidationRequestWithVerifiedEndpointsList () {
585609 ZosmfService zosmfService = getZosmfServiceWithValidationStrategy (validationStrategyList );
586- zosmfService .validate ("TOKN" );
610+ assertThrows ( TokenNotValidException . class , () -> zosmfService .validate ("TOKN" ) );
587611 verify (tokenValidationStrategy1 ).validate (argThat (request -> !request .getEndpointExistenceMap ().isEmpty ()));
588612 }
589613
0 commit comments