From d956ebf59b555f3e38b875c648a71868db4737ba Mon Sep 17 00:00:00 2001 From: Josh Cummings Date: Fri, 31 Jul 2020 13:45:10 -0600 Subject: [PATCH] Fix Broken Test Issue gh-8589 --- .../jwt/NimbusJwtDecoderJwkSupportTests.java | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/oauth2/oauth2-jose/src/test/java/org/springframework/security/oauth2/jwt/NimbusJwtDecoderJwkSupportTests.java b/oauth2/oauth2-jose/src/test/java/org/springframework/security/oauth2/jwt/NimbusJwtDecoderJwkSupportTests.java index 8242e0ecca..f555fcaa62 100644 --- a/oauth2/oauth2-jose/src/test/java/org/springframework/security/oauth2/jwt/NimbusJwtDecoderJwkSupportTests.java +++ b/oauth2/oauth2-jose/src/test/java/org/springframework/security/oauth2/jwt/NimbusJwtDecoderJwkSupportTests.java @@ -243,19 +243,25 @@ public class NimbusJwtDecoderJwkSupportTests { } @Test - public void decodeWhenReadingErrorPickTheFirstErrorMessage() { - OAuth2TokenValidator jwtValidator = mock(OAuth2TokenValidator.class); - this.jwtDecoder.setJwtValidator(jwtValidator); + public void decodeWhenReadingErrorPickTheFirstErrorMessage() throws Exception { + try ( MockWebServer server = new MockWebServer() ) { + server.enqueue(new MockResponse().setBody(JWK_SET)); + String jwkSetUrl = server.url("/.well-known/jwks.json").toString(); - OAuth2Error errorEmpty = new OAuth2Error("mock-error", "", "mock-uri"); - OAuth2Error error = new OAuth2Error("mock-error", "mock-description", "mock-uri"); - OAuth2Error error2 = new OAuth2Error("mock-error-second", "mock-description-second", "mock-uri-second"); - OAuth2TokenValidatorResult result = OAuth2TokenValidatorResult.failure(errorEmpty, error, error2); - Mockito.when(jwtValidator.validate(any(Jwt.class))).thenReturn(result); + NimbusJwtDecoderJwkSupport decoder = new NimbusJwtDecoderJwkSupport(jwkSetUrl); + OAuth2TokenValidator jwtValidator = mock(OAuth2TokenValidator.class); + decoder.setJwtValidator(jwtValidator); - Assertions.assertThatCode(() -> this.jwtDecoder.decode(SIGNED_JWT)) - .isInstanceOf(JwtValidationException.class) - .hasMessageContaining("mock-description"); + OAuth2Error errorEmpty = new OAuth2Error("mock-error", "", "mock-uri"); + OAuth2Error error = new OAuth2Error("mock-error", "mock-description", "mock-uri"); + OAuth2Error error2 = new OAuth2Error("mock-error-second", "mock-description-second", "mock-uri-second"); + OAuth2TokenValidatorResult result = OAuth2TokenValidatorResult.failure(errorEmpty, error, error2); + Mockito.when(jwtValidator.validate(any(Jwt.class))).thenReturn(result); + + Assertions.assertThatCode(() -> decoder.decode(SIGNED_JWT)) + .isInstanceOf(JwtValidationException.class) + .hasMessageContaining("mock-description"); + } } @Test