### Question:
XsuaaJwtDecoder implements JwtDecoder { @Override public Jwt decode(String token) throws JwtException { Assert.notNull(token, "token is required"); JWT jwt; try { jwt = JWTParser.parse(token); } catch (ParseException ex) { throw new JwtException("Error initializing JWT decoder: " + ex.getMessage()); } final Jwt verifiedToken = verifyToken(jwt); postValidationActions.forEach(action -> action.perform(verifiedToken)); return verifiedToken; } XsuaaJwtDecoder(XsuaaServiceConfiguration xsuaaServiceConfiguration, int cacheValidityInSeconds, int cacheSize,
			OAuth2TokenValidator<Jwt> tokenValidators, Collection<PostValidationAction> postValidationActions); @Override Jwt decode(String token); void setTokenInfoExtractor(TokenInfoExtractor tokenInfoExtractor); void setRestOperations(RestOperations restOperations);  }### Answer:
@Test public void decode_withVerficationKey() throws IOException { String token = IOUtils.resourceToString("/accessTokenRSA256WithVerificationKey.txt", StandardCharsets.UTF_8); final JwtDecoder cut = new XsuaaJwtDecoderBuilder(configurationWithVerificationKey).build(); final Jwt jwt = cut.decode(token); assertThat(jwt.getClaimAsString(TokenClaims.CLAIM_CLIENT_ID)).isEqualTo("sb-clientId!t0815"); }
@Test public void decode_withNonMatchingVerificationKey_throwsException() throws IOException { String token = IOUtils.resourceToString("/token_cc.txt", StandardCharsets.UTF_8); final JwtDecoder cut = new XsuaaJwtDecoderBuilder(configuration).build(); assertThatThrownBy(() -> cut.decode(token)).isInstanceOf(JwtException.class) .hasMessageContaining("Cannot verify with online token key, jku, kid, uaadomain is null"); }