Remove blank lines from all tests

Remove all blank lines from test code so that test methods are
visually grouped together. This generally helps to make the test
classes easer to scan, however, the "given" / "when" / "then"
blocks used by some tests are now not as easy to discern.

Issue gh-8945
This commit is contained in:
Phillip Webb
2020-08-01 19:33:21 -07:00
committed by Rob Winch
parent 5bdd757108
commit a5aa6b3d7f
787 changed files with 9 additions and 10241 deletions

View File

@@ -51,7 +51,6 @@ public class ClaimAccessorTests {
Instant expectedClaimValue = Instant.now();
String claimName = "date";
this.claims.put(claimName, Date.from(expectedClaimValue));
assertThat(this.claimAccessor.getClaimAsInstant(claimName)).isBetween(expectedClaimValue.minusSeconds(1),
expectedClaimValue.plusSeconds(1));
}
@@ -62,7 +61,6 @@ public class ClaimAccessorTests {
Instant expectedClaimValue = Instant.now();
String claimName = "longSeconds";
this.claims.put(claimName, expectedClaimValue.getEpochSecond());
assertThat(this.claimAccessor.getClaimAsInstant(claimName)).isBetween(expectedClaimValue.minusSeconds(1),
expectedClaimValue.plusSeconds(1));
}
@@ -72,7 +70,6 @@ public class ClaimAccessorTests {
Instant expectedClaimValue = Instant.now();
String claimName = "instant";
this.claims.put(claimName, expectedClaimValue);
assertThat(this.claimAccessor.getClaimAsInstant(claimName)).isBetween(expectedClaimValue.minusSeconds(1),
expectedClaimValue.plusSeconds(1));
}
@@ -83,7 +80,6 @@ public class ClaimAccessorTests {
Instant expectedClaimValue = Instant.now();
String claimName = "integerSeconds";
this.claims.put(claimName, Long.valueOf(expectedClaimValue.getEpochSecond()).intValue());
assertThat(this.claimAccessor.getClaimAsInstant(claimName)).isBetween(expectedClaimValue.minusSeconds(1),
expectedClaimValue.plusSeconds(1));
}
@@ -94,7 +90,6 @@ public class ClaimAccessorTests {
Instant expectedClaimValue = Instant.now();
String claimName = "doubleSeconds";
this.claims.put(claimName, Long.valueOf(expectedClaimValue.getEpochSecond()).doubleValue());
assertThat(this.claimAccessor.getClaimAsInstant(claimName)).isBetween(expectedClaimValue.minusSeconds(1),
expectedClaimValue.plusSeconds(1));
}
@@ -104,7 +99,6 @@ public class ClaimAccessorTests {
public void getClaimAsStringWhenValueIsNullThenReturnNull() {
String claimName = "claim-with-null-value";
this.claims.put(claimName, null);
assertThat(this.claimAccessor.getClaimAsString(claimName)).isNull();
}
@@ -120,9 +114,7 @@ public class ClaimAccessorTests {
List<String> expectedClaimValue = Arrays.asList("item1", "item2");
String claimName = "list";
this.claims.put(claimName, expectedClaimValue);
List<String> actualClaimValue = this.claimAccessor.getClaim(claimName);
assertThat(actualClaimValue).containsOnlyElementsOf(expectedClaimValue);
}
@@ -131,9 +123,7 @@ public class ClaimAccessorTests {
boolean expectedClaimValue = true;
String claimName = "boolean";
this.claims.put(claimName, expectedClaimValue);
boolean actualClaimValue = this.claimAccessor.getClaim(claimName);
assertThat(actualClaimValue).isEqualTo(expectedClaimValue);
}

View File

@@ -45,7 +45,6 @@ public class DefaultOAuth2AuthenticatedPrincipalTests {
public void constructorWhenAttributesIsNullOrEmptyThenIllegalArgumentException() {
assertThatCode(() -> new DefaultOAuth2AuthenticatedPrincipal(null, this.authorities))
.isInstanceOf(IllegalArgumentException.class);
assertThatCode(() -> new DefaultOAuth2AuthenticatedPrincipal(Collections.emptyMap(), this.authorities))
.isInstanceOf(IllegalArgumentException.class);
}
@@ -55,7 +54,6 @@ public class DefaultOAuth2AuthenticatedPrincipalTests {
Collection<? extends GrantedAuthority> authorities = new DefaultOAuth2AuthenticatedPrincipal(this.attributes,
null).getAuthorities();
assertThat(authorities).isEmpty();
authorities = new DefaultOAuth2AuthenticatedPrincipal(this.attributes, Collections.emptyList())
.getAuthorities();
assertThat(authorities).isEmpty();

View File

@@ -42,7 +42,6 @@ public class DelegatingOAuth2TokenValidatorTests {
public void validateWhenNoValidatorsConfiguredThenReturnsSuccessfulResult() {
DelegatingOAuth2TokenValidator<AbstractOAuth2Token> tokenValidator = new DelegatingOAuth2TokenValidator<>();
AbstractOAuth2Token token = mock(AbstractOAuth2Token.class);
assertThat(tokenValidator.validate(token).hasErrors()).isFalse();
}
@@ -50,16 +49,12 @@ public class DelegatingOAuth2TokenValidatorTests {
public void validateWhenAnyValidatorFailsThenReturnsFailureResultContainingDetailFromFailingValidator() {
OAuth2TokenValidator<AbstractOAuth2Token> success = mock(OAuth2TokenValidator.class);
OAuth2TokenValidator<AbstractOAuth2Token> failure = mock(OAuth2TokenValidator.class);
given(success.validate(any(AbstractOAuth2Token.class))).willReturn(OAuth2TokenValidatorResult.success());
given(failure.validate(any(AbstractOAuth2Token.class))).willReturn(OAuth2TokenValidatorResult.failure(DETAIL));
DelegatingOAuth2TokenValidator<AbstractOAuth2Token> tokenValidator = new DelegatingOAuth2TokenValidator<>(
Arrays.asList(success, failure));
AbstractOAuth2Token token = mock(AbstractOAuth2Token.class);
OAuth2TokenValidatorResult result = tokenValidator.validate(token);
assertThat(result.hasErrors()).isTrue();
assertThat(result.getErrors()).containsExactly(DETAIL);
}
@@ -68,20 +63,15 @@ public class DelegatingOAuth2TokenValidatorTests {
public void validateWhenMultipleValidatorsFailThenReturnsFailureResultContainingAllDetails() {
OAuth2TokenValidator<AbstractOAuth2Token> firstFailure = mock(OAuth2TokenValidator.class);
OAuth2TokenValidator<AbstractOAuth2Token> secondFailure = mock(OAuth2TokenValidator.class);
OAuth2Error otherDetail = new OAuth2Error("another-error");
given(firstFailure.validate(any(AbstractOAuth2Token.class)))
.willReturn(OAuth2TokenValidatorResult.failure(DETAIL));
given(secondFailure.validate(any(AbstractOAuth2Token.class)))
.willReturn(OAuth2TokenValidatorResult.failure(otherDetail));
DelegatingOAuth2TokenValidator<AbstractOAuth2Token> tokenValidator = new DelegatingOAuth2TokenValidator<>(
firstFailure, secondFailure);
AbstractOAuth2Token token = mock(AbstractOAuth2Token.class);
OAuth2TokenValidatorResult result = tokenValidator.validate(token);
assertThat(result.hasErrors()).isTrue();
assertThat(result.getErrors()).containsExactly(DETAIL, otherDetail);
}
@@ -90,16 +80,12 @@ public class DelegatingOAuth2TokenValidatorTests {
public void validateWhenAllValidatorsSucceedThenReturnsSuccessfulResult() {
OAuth2TokenValidator<AbstractOAuth2Token> firstSuccess = mock(OAuth2TokenValidator.class);
OAuth2TokenValidator<AbstractOAuth2Token> secondSuccess = mock(OAuth2TokenValidator.class);
given(firstSuccess.validate(any(AbstractOAuth2Token.class))).willReturn(OAuth2TokenValidatorResult.success());
given(secondSuccess.validate(any(AbstractOAuth2Token.class))).willReturn(OAuth2TokenValidatorResult.success());
DelegatingOAuth2TokenValidator<AbstractOAuth2Token> tokenValidator = new DelegatingOAuth2TokenValidator<>(
Arrays.asList(firstSuccess, secondSuccess));
AbstractOAuth2Token token = mock(AbstractOAuth2Token.class);
OAuth2TokenValidatorResult result = tokenValidator.validate(token);
assertThat(result.hasErrors()).isFalse();
assertThat(result.getErrors()).isEmpty();
}
@@ -115,20 +101,15 @@ public class DelegatingOAuth2TokenValidatorTests {
public void constructorsWhenInvokedWithSameInputsThenResultInSameOutputs() {
OAuth2TokenValidator<AbstractOAuth2Token> firstSuccess = mock(OAuth2TokenValidator.class);
OAuth2TokenValidator<AbstractOAuth2Token> secondSuccess = mock(OAuth2TokenValidator.class);
given(firstSuccess.validate(any(AbstractOAuth2Token.class))).willReturn(OAuth2TokenValidatorResult.success());
given(secondSuccess.validate(any(AbstractOAuth2Token.class))).willReturn(OAuth2TokenValidatorResult.success());
DelegatingOAuth2TokenValidator<AbstractOAuth2Token> firstValidator = new DelegatingOAuth2TokenValidator<>(
Arrays.asList(firstSuccess, secondSuccess));
DelegatingOAuth2TokenValidator<AbstractOAuth2Token> secondValidator = new DelegatingOAuth2TokenValidator<>(
firstSuccess, secondSuccess);
AbstractOAuth2Token token = mock(AbstractOAuth2Token.class);
firstValidator.validate(token);
secondValidator.validate(token);
verify(firstSuccess, times(2)).validate(token);
verify(secondSuccess, times(2)).validate(token);
}

View File

@@ -72,7 +72,6 @@ public class OAuth2AccessTokenTests {
@Test
public void constructorWhenAllParametersProvidedAndValidThenCreated() {
OAuth2AccessToken accessToken = new OAuth2AccessToken(TOKEN_TYPE, TOKEN_VALUE, ISSUED_AT, EXPIRES_AT, SCOPES);
assertThat(accessToken.getTokenType()).isEqualTo(TOKEN_TYPE);
assertThat(accessToken.getTokenValue()).isEqualTo(TOKEN_VALUE);
assertThat(accessToken.getIssuedAt()).isEqualTo(ISSUED_AT);
@@ -86,7 +85,6 @@ public class OAuth2AccessTokenTests {
OAuth2AccessToken accessToken = new OAuth2AccessToken(TOKEN_TYPE, TOKEN_VALUE, ISSUED_AT, EXPIRES_AT, SCOPES);
byte[] serialized = SerializationUtils.serialize(accessToken);
accessToken = (OAuth2AccessToken) SerializationUtils.deserialize(serialized);
assertThat(serialized).isNotNull();
assertThat(accessToken.getTokenType()).isEqualTo(TOKEN_TYPE);
assertThat(accessToken.getTokenValue()).isEqualTo(TOKEN_VALUE);

View File

@@ -41,7 +41,6 @@ public class OAuth2ErrorTests {
@Test
public void constructorWhenAllParametersProvidedAndValidThenCreated() {
OAuth2Error error = new OAuth2Error(ERROR_CODE, ERROR_DESCRIPTION, ERROR_URI);
assertThat(error.getErrorCode()).isEqualTo(ERROR_CODE);
assertThat(error.getDescription()).isEqualTo(ERROR_DESCRIPTION);
assertThat(error.getUri()).isEqualTo(ERROR_URI);

View File

@@ -38,7 +38,6 @@ public class OAuth2TokenValidatorResultTests {
@Test
public void failureWhenInvokedWithDetailReturnsFailureResultIncludingDetail() {
OAuth2TokenValidatorResult failure = OAuth2TokenValidatorResult.failure(DETAIL);
assertThat(failure.hasErrors()).isTrue();
assertThat(failure.getErrors()).containsExactly(DETAIL);
}
@@ -46,7 +45,6 @@ public class OAuth2TokenValidatorResultTests {
@Test
public void failureWhenInvokedWithMultipleDetailsReturnsFailureResultIncludingAll() {
OAuth2TokenValidatorResult failure = OAuth2TokenValidatorResult.failure(DETAIL, DETAIL);
assertThat(failure.hasErrors()).isTrue();
assertThat(failure.getErrors()).containsExactly(DETAIL, DETAIL);
}

View File

@@ -70,7 +70,6 @@ public class ClaimTypeConverterTests {
TypeDescriptor.collection(List.class, TypeDescriptor.valueOf(String.class)));
Converter<Object, ?> mapStringObjectConverter = getConverter(TypeDescriptor.map(Map.class,
TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Object.class)));
Map<String, Converter<Object, ?>> claimTypeConverters = new HashMap<>();
claimTypeConverters.put(STRING_CLAIM, stringConverter);
claimTypeConverters.put(BOOLEAN_CLAIM, booleanConverter);
@@ -117,7 +116,6 @@ public class ClaimTypeConverterTests {
mapIntegerObject.put(1, "value1");
Map<String, Object> mapStringObject = new HashMap<>();
mapStringObject.put("1", "value1");
Map<String, Object> claims = new HashMap<>();
claims.put(STRING_CLAIM, Boolean.TRUE);
claims.put(BOOLEAN_CLAIM, "true");
@@ -126,9 +124,7 @@ public class ClaimTypeConverterTests {
claims.put(COLLECTION_STRING_CLAIM, listNumber);
claims.put(LIST_STRING_CLAIM, listNumber);
claims.put(MAP_STRING_OBJECT_CLAIM, mapIntegerObject);
claims = this.claimTypeConverter.convert(claims);
assertThat(claims.get(STRING_CLAIM)).isEqualTo("true");
assertThat(claims.get(BOOLEAN_CLAIM)).isEqualTo(Boolean.TRUE);
assertThat(claims.get(INSTANT_CLAIM)).isEqualTo(instant);
@@ -147,7 +143,6 @@ public class ClaimTypeConverterTests {
List<String> listString = Lists.list("1", "2", "3", "4");
Map<String, Object> mapStringObject = new HashMap<>();
mapStringObject.put("1", "value1");
Map<String, Object> claims = new HashMap<>();
claims.put(STRING_CLAIM, string);
claims.put(BOOLEAN_CLAIM, bool);
@@ -156,9 +151,7 @@ public class ClaimTypeConverterTests {
claims.put(COLLECTION_STRING_CLAIM, listString);
claims.put(LIST_STRING_CLAIM, listString);
claims.put(MAP_STRING_OBJECT_CLAIM, mapStringObject);
claims = this.claimTypeConverter.convert(claims);
assertThat(claims.get(STRING_CLAIM)).isSameAs(string);
assertThat(claims.get(BOOLEAN_CLAIM)).isSameAs(bool);
assertThat(claims.get(INSTANT_CLAIM)).isSameAs(instant);
@@ -172,9 +165,7 @@ public class ClaimTypeConverterTests {
public void convertWhenConverterNotAvailableThenDoesNotConvert() {
Map<String, Object> claims = new HashMap<>();
claims.put("claim1", "value1");
claims = this.claimTypeConverter.convert(claims);
assertThat(claims.get("claim1")).isSameAs("value1");
}

View File

@@ -63,11 +63,9 @@ public class MapOAuth2AccessTokenResponseConverterTests {
Assert.assertTrue(scopes.contains("read"));
Assert.assertTrue(scopes.contains("write"));
Assert.assertEquals(3600, Duration.between(accessToken.getIssuedAt(), accessToken.getExpiresAt()).getSeconds());
OAuth2RefreshToken refreshToken = converted.getRefreshToken();
Assert.assertNotNull(refreshToken);
Assert.assertEquals("refresh-token-1234", refreshToken.getTokenValue());
Map<String, Object> additionalParameters = converted.getAdditionalParameters();
Assert.assertNotNull(additionalParameters);
Assert.assertEquals(2, additionalParameters.size());
@@ -88,12 +86,9 @@ public class MapOAuth2AccessTokenResponseConverterTests {
Set<String> scopes = accessToken.getScopes();
Assert.assertNotNull(scopes);
Assert.assertEquals(0, scopes.size());
Assert.assertEquals(1, Duration.between(accessToken.getIssuedAt(), accessToken.getExpiresAt()).getSeconds());
OAuth2RefreshToken refreshToken = converted.getRefreshToken();
Assert.assertNull(refreshToken);
Map<String, Object> additionalParameters = converted.getAdditionalParameters();
Assert.assertNotNull(additionalParameters);
Assert.assertEquals(0, additionalParameters.size());
@@ -113,12 +108,9 @@ public class MapOAuth2AccessTokenResponseConverterTests {
Set<String> scopes = accessToken.getScopes();
Assert.assertNotNull(scopes);
Assert.assertEquals(0, scopes.size());
Assert.assertEquals(1, Duration.between(accessToken.getIssuedAt(), accessToken.getExpiresAt()).getSeconds());
OAuth2RefreshToken refreshToken = converted.getRefreshToken();
Assert.assertNull(refreshToken);
Map<String, Object> additionalParameters = converted.getAdditionalParameters();
Assert.assertNotNull(additionalParameters);
Assert.assertEquals(0, additionalParameters.size());

View File

@@ -46,17 +46,14 @@ public class OAuth2AccessTokenResponseMapConverterTests {
Map<String, Object> additionalParameters = new HashMap<>();
additionalParameters.put("custom_parameter_1", "custom-value-1");
additionalParameters.put("custom_parameter_2", "custom-value-2");
Set<String> scopes = new HashSet<>();
scopes.add("read");
scopes.add("write");
OAuth2AccessTokenResponse build = OAuth2AccessTokenResponse.withToken("access-token-value-1234").expiresIn(3699)
.additionalParameters(additionalParameters).refreshToken("refresh-token-value-1234").scopes(scopes)
.tokenType(OAuth2AccessToken.TokenType.BEARER).build();
Map<String, String> result = this.messageConverter.convert(build);
Assert.assertEquals(7, result.size());
Assert.assertEquals("access-token-value-1234", result.get("access_token"));
Assert.assertEquals("refresh-token-value-1234", result.get("refresh_token"));
Assert.assertEquals("read write", result.get("scope"));
@@ -72,7 +69,6 @@ public class OAuth2AccessTokenResponseMapConverterTests {
.tokenType(OAuth2AccessToken.TokenType.BEARER).build();
Map<String, String> result = this.messageConverter.convert(build);
Assert.assertEquals(3, result.size());
Assert.assertEquals("access-token-value-1234", result.get("access_token"));
Assert.assertEquals("Bearer", result.get("token_type"));
Assert.assertNotNull(result.get("expires_in"));

View File

@@ -77,11 +77,9 @@ public class OAuth2AccessTokenResponseTests {
Map<String, Object> additionalParameters = new HashMap<>();
additionalParameters.put("param1", "value1");
additionalParameters.put("param2", "value2");
OAuth2AccessTokenResponse tokenResponse = OAuth2AccessTokenResponse.withToken(TOKEN_VALUE)
.tokenType(OAuth2AccessToken.TokenType.BEARER).expiresIn(expiresAt.toEpochMilli()).scopes(scopes)
.refreshToken(REFRESH_TOKEN_VALUE).additionalParameters(additionalParameters).build();
assertThat(tokenResponse.getAccessToken()).isNotNull();
assertThat(tokenResponse.getAccessToken().getTokenValue()).isEqualTo(TOKEN_VALUE);
assertThat(tokenResponse.getAccessToken().getTokenType()).isEqualTo(OAuth2AccessToken.TokenType.BEARER);
@@ -99,13 +97,10 @@ public class OAuth2AccessTokenResponseTests {
Map<String, Object> additionalParameters = new HashMap<>();
additionalParameters.put("param1", "value1");
additionalParameters.put("param2", "value2");
OAuth2AccessTokenResponse tokenResponse = OAuth2AccessTokenResponse.withToken(TOKEN_VALUE)
.tokenType(OAuth2AccessToken.TokenType.BEARER).expiresIn(expiresAt.toEpochMilli()).scopes(scopes)
.refreshToken(REFRESH_TOKEN_VALUE).additionalParameters(additionalParameters).build();
OAuth2AccessTokenResponse withResponse = OAuth2AccessTokenResponse.withResponse(tokenResponse).build();
assertThat(withResponse.getAccessToken().getTokenValue())
.isEqualTo(tokenResponse.getAccessToken().getTokenValue());
assertThat(withResponse.getAccessToken().getTokenType()).isEqualTo(OAuth2AccessToken.TokenType.BEARER);
@@ -125,13 +120,10 @@ public class OAuth2AccessTokenResponseTests {
Map<String, Object> additionalParameters = new HashMap<>();
additionalParameters.put("param1", "value1");
additionalParameters.put("param2", "value2");
OAuth2AccessTokenResponse tokenResponse = OAuth2AccessTokenResponse.withToken(TOKEN_VALUE)
.tokenType(OAuth2AccessToken.TokenType.BEARER).expiresIn(expiresAt.toEpochMilli()).scopes(scopes)
.additionalParameters(additionalParameters).build();
OAuth2AccessTokenResponse withResponse = OAuth2AccessTokenResponse.withResponse(tokenResponse).build();
assertThat(withResponse.getRefreshToken()).isNull();
}
@@ -139,11 +131,9 @@ public class OAuth2AccessTokenResponseTests {
public void buildWhenResponseAndExpiresInThenExpiresAtEqualToIssuedAtPlusExpiresIn() {
OAuth2AccessTokenResponse tokenResponse = OAuth2AccessTokenResponse.withToken(TOKEN_VALUE)
.tokenType(OAuth2AccessToken.TokenType.BEARER).build();
long expiresIn = 30;
OAuth2AccessTokenResponse withResponse = OAuth2AccessTokenResponse.withResponse(tokenResponse)
.expiresIn(expiresIn).build();
assertThat(withResponse.getAccessToken().getExpiresAt())
.isEqualTo(withResponse.getAccessToken().getIssuedAt().plusSeconds(expiresIn));
}

View File

@@ -120,16 +120,13 @@ public class OAuth2AuthorizationRequestTests {
Map<String, Object> additionalParameters = new HashMap<>();
additionalParameters.put("param1", "value1");
additionalParameters.put("param2", "value2");
Map<String, Object> attributes = new HashMap<>();
attributes.put("attribute1", "value1");
attributes.put("attribute2", "value2");
OAuth2AuthorizationRequest authorizationRequest = OAuth2AuthorizationRequest.authorizationCode()
.authorizationUri(AUTHORIZATION_URI).clientId(CLIENT_ID).redirectUri(REDIRECT_URI).scopes(SCOPES)
.state(STATE).additionalParameters(additionalParameters).attributes(attributes)
.authorizationRequestUri(AUTHORIZATION_URI).build();
assertThat(authorizationRequest.getAuthorizationUri()).isEqualTo(AUTHORIZATION_URI);
assertThat(authorizationRequest.getGrantType()).isEqualTo(AuthorizationGrantType.AUTHORIZATION_CODE);
assertThat(authorizationRequest.getResponseType()).isEqualTo(OAuth2AuthorizationResponseType.CODE);
@@ -147,7 +144,6 @@ public class OAuth2AuthorizationRequestTests {
OAuth2AuthorizationRequest authorizationRequest = OAuth2AuthorizationRequest.implicit()
.authorizationUri(AUTHORIZATION_URI).clientId(CLIENT_ID).redirectUri(REDIRECT_URI).scopes(SCOPES)
.state(STATE).build();
assertThat(authorizationRequest.getAuthorizationRequestUri())
.isEqualTo("https://provider.com/oauth2/authorize?" + "response_type=token&client_id=client-id&"
+ "scope=scope1%20scope2&state=state&" + "redirect_uri=https://example.com");
@@ -174,11 +170,9 @@ public class OAuth2AuthorizationRequestTests {
Map<String, Object> additionalParameters = new HashMap<>();
additionalParameters.put("param1", "value1");
additionalParameters.put("param2", "value2");
OAuth2AuthorizationRequest authorizationRequest = OAuth2AuthorizationRequest.authorizationCode()
.authorizationUri(AUTHORIZATION_URI).clientId(CLIENT_ID).redirectUri(REDIRECT_URI).scopes(SCOPES)
.state(STATE).additionalParameters(additionalParameters).build();
assertThat(authorizationRequest.getAuthorizationRequestUri()).isNotNull();
assertThat(authorizationRequest.getAuthorizationRequestUri()).isEqualTo("https://provider.com/oauth2/authorize?"
+ "response_type=code&client_id=client-id&" + "scope=scope1%20scope2&state=state&"
@@ -189,7 +183,6 @@ public class OAuth2AuthorizationRequestTests {
public void buildWhenRequiredParametersSetThenAuthorizationRequestUriIncludesRequiredParametersOnly() {
OAuth2AuthorizationRequest authorizationRequest = OAuth2AuthorizationRequest.authorizationCode()
.authorizationUri(AUTHORIZATION_URI).clientId(CLIENT_ID).build();
assertThat(authorizationRequest.getAuthorizationRequestUri())
.isEqualTo("https://provider.com/oauth2/authorize?response_type=code&client_id=client-id");
}
@@ -204,18 +197,14 @@ public class OAuth2AuthorizationRequestTests {
Map<String, Object> additionalParameters = new HashMap<>();
additionalParameters.put("param1", "value1");
additionalParameters.put("param2", "value2");
Map<String, Object> attributes = new HashMap<>();
attributes.put("attribute1", "value1");
attributes.put("attribute2", "value2");
OAuth2AuthorizationRequest authorizationRequest = OAuth2AuthorizationRequest.authorizationCode()
.authorizationUri(AUTHORIZATION_URI).clientId(CLIENT_ID).redirectUri(REDIRECT_URI).scopes(SCOPES)
.state(STATE).additionalParameters(additionalParameters).attributes(attributes).build();
OAuth2AuthorizationRequest authorizationRequestCopy = OAuth2AuthorizationRequest.from(authorizationRequest)
.build();
assertThat(authorizationRequestCopy.getAuthorizationUri())
.isEqualTo(authorizationRequest.getAuthorizationUri());
assertThat(authorizationRequestCopy.getGrantType()).isEqualTo(authorizationRequest.getGrantType());
@@ -235,7 +224,6 @@ public class OAuth2AuthorizationRequestTests {
public void buildWhenAuthorizationUriIncludesQueryParameterThenAuthorizationRequestUrlIncludesIt() {
OAuth2AuthorizationRequest authorizationRequest = TestOAuth2AuthorizationRequests.request()
.authorizationUri(AUTHORIZATION_URI + "?param1=value1&param2=value2").build();
assertThat(authorizationRequest.getAuthorizationRequestUri()).isNotNull();
assertThat(authorizationRequest.getAuthorizationRequestUri()).isEqualTo("https://provider.com/oauth2/authorize?"
+ "param1=value1&param2=value2&" + "response_type=code&client_id=client-id&state=state&"
@@ -248,7 +236,6 @@ public class OAuth2AuthorizationRequestTests {
.authorizationUri(AUTHORIZATION_URI
+ "?claims=%7B%22userinfo%22%3A%7B%22email_verified%22%3A%7B%22essential%22%3Atrue%7D%7D%7D")
.build();
assertThat(authorizationRequest.getAuthorizationRequestUri()).isNotNull();
assertThat(authorizationRequest.getAuthorizationRequestUri()).isEqualTo("https://provider.com/oauth2/authorize?"
+ "claims=%7B%22userinfo%22%3A%7B%22email_verified%22%3A%7B%22essential%22%3Atrue%7D%7D%7D&"
@@ -264,7 +251,6 @@ public class OAuth2AuthorizationRequestTests {
additionalParameters.put('\u00e2' + "ge", "4" + '\u00bd');
OAuth2AuthorizationRequest authorizationRequest = TestOAuth2AuthorizationRequests.request()
.additionalParameters(additionalParameters).build();
assertThat(authorizationRequest.getAuthorizationRequestUri()).isNotNull();
assertThat(authorizationRequest.getAuthorizationRequestUri()).isEqualTo(
"https://example.com/login/oauth/authorize?" + "response_type=code&client_id=client-id&state=state&"

View File

@@ -80,12 +80,9 @@ public class OAuth2AccessTokenResponseHttpMessageConverterTests {
+ " \"scope\": \"read write\",\n" + " \"refresh_token\": \"refresh-token-1234\",\n"
+ " \"custom_parameter_1\": \"custom-value-1\",\n" + " \"custom_parameter_2\": \"custom-value-2\"\n"
+ "}\n";
MockClientHttpResponse response = new MockClientHttpResponse(tokenResponse.getBytes(), HttpStatus.OK);
OAuth2AccessTokenResponse accessTokenResponse = this.messageConverter
.readInternal(OAuth2AccessTokenResponse.class, response);
assertThat(accessTokenResponse.getAccessToken().getTokenValue()).isEqualTo("access-token-1234");
assertThat(accessTokenResponse.getAccessToken().getTokenType()).isEqualTo(OAuth2AccessToken.TokenType.BEARER);
assertThat(accessTokenResponse.getAccessToken().getExpiresAt())
@@ -94,7 +91,6 @@ public class OAuth2AccessTokenResponseHttpMessageConverterTests {
assertThat(accessTokenResponse.getRefreshToken().getTokenValue()).isEqualTo("refresh-token-1234");
assertThat(accessTokenResponse.getAdditionalParameters()).containsExactly(
entry("custom_parameter_1", "custom-value-1"), entry("custom_parameter_2", "custom-value-2"));
}
// gh-6463
@@ -107,12 +103,9 @@ public class OAuth2AccessTokenResponseHttpMessageConverterTests {
+ " \"custom_object_2\": [\"value1\", \"value2\"],\n"
+ " \"custom_parameter_1\": \"custom-value-1\",\n" + " \"custom_parameter_2\": \"custom-value-2\"\n"
+ "}\n";
MockClientHttpResponse response = new MockClientHttpResponse(tokenResponse.getBytes(), HttpStatus.OK);
OAuth2AccessTokenResponse accessTokenResponse = this.messageConverter
.readInternal(OAuth2AccessTokenResponse.class, response);
assertThat(accessTokenResponse.getAccessToken().getTokenValue()).isEqualTo("access-token-1234");
assertThat(accessTokenResponse.getAccessToken().getTokenType()).isEqualTo(OAuth2AccessToken.TokenType.BEARER);
assertThat(accessTokenResponse.getAccessToken().getExpiresAt())
@@ -130,12 +123,9 @@ public class OAuth2AccessTokenResponseHttpMessageConverterTests {
String tokenResponse = "{\n" + " \"access_token\": \"access-token-1234\",\n"
+ " \"token_type\": \"bearer\",\n" + " \"expires_in\": 3600,\n" + " \"scope\": null,\n"
+ " \"refresh_token\": \"refresh-token-1234\"\n" + "}\n";
MockClientHttpResponse response = new MockClientHttpResponse(tokenResponse.getBytes(), HttpStatus.OK);
OAuth2AccessTokenResponse accessTokenResponse = this.messageConverter
.readInternal(OAuth2AccessTokenResponse.class, response);
assertThat(accessTokenResponse.getAccessToken().getTokenValue()).isEqualTo("access-token-1234");
assertThat(accessTokenResponse.getAccessToken().getTokenType()).isEqualTo(OAuth2AccessToken.TokenType.BEARER);
assertThat(accessTokenResponse.getAccessToken().getExpiresAt())
@@ -149,11 +139,8 @@ public class OAuth2AccessTokenResponseHttpMessageConverterTests {
Converter tokenResponseConverter = mock(Converter.class);
given(tokenResponseConverter.convert(any())).willThrow(RuntimeException.class);
this.messageConverter.setTokenResponseConverter(tokenResponseConverter);
String tokenResponse = "{}";
MockClientHttpResponse response = new MockClientHttpResponse(tokenResponse.getBytes(), HttpStatus.OK);
assertThatThrownBy(() -> this.messageConverter.readInternal(OAuth2AccessTokenResponse.class, response))
.isInstanceOf(HttpMessageNotReadableException.class)
.hasMessageContaining("An error occurred reading the OAuth 2.0 Access Token Response");
@@ -166,15 +153,12 @@ public class OAuth2AccessTokenResponseHttpMessageConverterTests {
Map<String, Object> additionalParameters = new HashMap<>();
additionalParameters.put("custom_parameter_1", "custom-value-1");
additionalParameters.put("custom_parameter_2", "custom-value-2");
OAuth2AccessTokenResponse accessTokenResponse = OAuth2AccessTokenResponse.withToken("access-token-1234")
.tokenType(OAuth2AccessToken.TokenType.BEARER).expiresIn(expiresAt.toEpochMilli()).scopes(scopes)
.refreshToken("refresh-token-1234").additionalParameters(additionalParameters).build();
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
this.messageConverter.writeInternal(accessTokenResponse, outputMessage);
String tokenResponse = outputMessage.getBodyAsString();
assertThat(tokenResponse).contains("\"access_token\":\"access-token-1234\"");
assertThat(tokenResponse).contains("\"token_type\":\"Bearer\"");
assertThat(tokenResponse).contains("\"expires_in\"");
@@ -189,13 +173,10 @@ public class OAuth2AccessTokenResponseHttpMessageConverterTests {
Converter tokenResponseParametersConverter = mock(Converter.class);
given(tokenResponseParametersConverter.convert(any())).willThrow(RuntimeException.class);
this.messageConverter.setTokenResponseParametersConverter(tokenResponseParametersConverter);
OAuth2AccessTokenResponse accessTokenResponse = OAuth2AccessTokenResponse.withToken("access-token-1234")
.tokenType(OAuth2AccessToken.TokenType.BEARER).expiresIn(Instant.now().plusSeconds(3600).toEpochMilli())
.build();
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
assertThatThrownBy(() -> this.messageConverter.writeInternal(accessTokenResponse, outputMessage))
.isInstanceOf(HttpMessageNotWritableException.class)
.hasMessageContaining("An error occurred writing the OAuth 2.0 Access Token Response");

View File

@@ -69,9 +69,7 @@ public class OAuth2ErrorHttpMessageConverterTests {
String errorResponse = "{\n" + " \"error\": \"unauthorized_client\",\n"
+ " \"error_description\": \"The client is not authorized\",\n"
+ " \"error_uri\": \"https://tools.ietf.org/html/rfc6749#section-5.2\"\n" + "}\n";
MockClientHttpResponse response = new MockClientHttpResponse(errorResponse.getBytes(), HttpStatus.BAD_REQUEST);
OAuth2Error oauth2Error = this.messageConverter.readInternal(OAuth2Error.class, response);
assertThat(oauth2Error.getErrorCode()).isEqualTo("unauthorized_client");
assertThat(oauth2Error.getDescription()).isEqualTo("The client is not authorized");
@@ -84,9 +82,7 @@ public class OAuth2ErrorHttpMessageConverterTests {
String errorResponse = "{\n" + " \"error\": \"unauthorized_client\",\n"
+ " \"error_description\": \"The client is not authorized\",\n" + " \"error_codes\": [65001],\n"
+ " \"error_uri\": \"https://tools.ietf.org/html/rfc6749#section-5.2\"\n" + "}\n";
MockClientHttpResponse response = new MockClientHttpResponse(errorResponse.getBytes(), HttpStatus.BAD_REQUEST);
OAuth2Error oauth2Error = this.messageConverter.readInternal(OAuth2Error.class, response);
assertThat(oauth2Error.getErrorCode()).isEqualTo("unauthorized_client");
assertThat(oauth2Error.getDescription()).isEqualTo("The client is not authorized");
@@ -98,11 +94,8 @@ public class OAuth2ErrorHttpMessageConverterTests {
Converter errorConverter = mock(Converter.class);
given(errorConverter.convert(any())).willThrow(RuntimeException.class);
this.messageConverter.setErrorConverter(errorConverter);
String errorResponse = "{}";
MockClientHttpResponse response = new MockClientHttpResponse(errorResponse.getBytes(), HttpStatus.BAD_REQUEST);
assertThatThrownBy(() -> this.messageConverter.readInternal(OAuth2Error.class, response))
.isInstanceOf(HttpMessageNotReadableException.class)
.hasMessageContaining("An error occurred reading the OAuth 2.0 Error");
@@ -112,11 +105,9 @@ public class OAuth2ErrorHttpMessageConverterTests {
public void writeInternalWhenOAuth2ErrorThenWriteErrorResponse() throws Exception {
OAuth2Error oauth2Error = new OAuth2Error("unauthorized_client", "The client is not authorized",
"https://tools.ietf.org/html/rfc6749#section-5.2");
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
this.messageConverter.writeInternal(oauth2Error, outputMessage);
String errorResponse = outputMessage.getBodyAsString();
assertThat(errorResponse).contains("\"error\":\"unauthorized_client\"");
assertThat(errorResponse).contains("\"error_description\":\"The client is not authorized\"");
assertThat(errorResponse).contains("\"error_uri\":\"https://tools.ietf.org/html/rfc6749#section-5.2\"");
@@ -127,12 +118,9 @@ public class OAuth2ErrorHttpMessageConverterTests {
Converter errorParametersConverter = mock(Converter.class);
given(errorParametersConverter.convert(any())).willThrow(RuntimeException.class);
this.messageConverter.setErrorParametersConverter(errorParametersConverter);
OAuth2Error oauth2Error = new OAuth2Error("unauthorized_client", "The client is not authorized",
"https://tools.ietf.org/html/rfc6749#section-5.2");
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
assertThatThrownBy(() -> this.messageConverter.writeInternal(oauth2Error, outputMessage))
.isInstanceOf(HttpMessageNotWritableException.class)
.hasMessageContaining("An error occurred writing the OAuth 2.0 Error");

View File

@@ -48,7 +48,6 @@ public class DefaultAddressStandardClaimTests {
AddressStandardClaim addressStandardClaim = new DefaultAddressStandardClaim.Builder().formatted(FORMATTED)
.streetAddress(STREET_ADDRESS).locality(LOCALITY).region(REGION).postalCode(POSTAL_CODE)
.country(COUNTRY).build();
assertThat(addressStandardClaim.getFormatted()).isEqualTo(FORMATTED);
assertThat(addressStandardClaim.getStreetAddress()).isEqualTo(STREET_ADDRESS);
assertThat(addressStandardClaim.getLocality()).isEqualTo(LOCALITY);
@@ -66,9 +65,7 @@ public class DefaultAddressStandardClaimTests {
addressFields.put(REGION_FIELD_NAME, REGION);
addressFields.put(POSTAL_CODE_FIELD_NAME, POSTAL_CODE);
addressFields.put(COUNTRY_FIELD_NAME, COUNTRY);
AddressStandardClaim addressStandardClaim = new DefaultAddressStandardClaim.Builder(addressFields).build();
assertThat(addressStandardClaim.getFormatted()).isEqualTo(FORMATTED);
assertThat(addressStandardClaim.getStreetAddress()).isEqualTo(STREET_ADDRESS);
assertThat(addressStandardClaim.getLocality()).isEqualTo(LOCALITY);

View File

@@ -31,16 +31,12 @@ public class OidcIdTokenBuilderTests {
@Test
public void buildWhenCalledTwiceThenGeneratesTwoOidcIdTokens() {
OidcIdToken.Builder idTokenBuilder = OidcIdToken.withTokenValue("token");
OidcIdToken first = idTokenBuilder.tokenValue("V1").claim("TEST_CLAIM_1", "C1").build();
OidcIdToken second = idTokenBuilder.tokenValue("V2").claim("TEST_CLAIM_1", "C2").claim("TEST_CLAIM_2", "C3")
.build();
assertThat(first.getClaims()).hasSize(1);
assertThat(first.getClaims().get("TEST_CLAIM_1")).isEqualTo("C1");
assertThat(first.getTokenValue()).isEqualTo("V1");
assertThat(second.getClaims()).hasSize(2);
assertThat(second.getClaims().get("TEST_CLAIM_1")).isEqualTo("C2");
assertThat(second.getClaims().get("TEST_CLAIM_2")).isEqualTo("C3");
@@ -50,15 +46,11 @@ public class OidcIdTokenBuilderTests {
@Test
public void expiresAtWhenUsingGenericOrNamedClaimMethodRequiresInstant() {
OidcIdToken.Builder idTokenBuilder = OidcIdToken.withTokenValue("token");
Instant now = Instant.now();
OidcIdToken idToken = idTokenBuilder.expiresAt(now).build();
assertThat(idToken.getExpiresAt()).isSameAs(now);
idToken = idTokenBuilder.expiresAt(now).build();
assertThat(idToken.getExpiresAt()).isSameAs(now);
assertThatCode(() -> idTokenBuilder.claim(IdTokenClaimNames.EXP, "not an instant").build())
.isInstanceOf(IllegalArgumentException.class);
}
@@ -66,15 +58,11 @@ public class OidcIdTokenBuilderTests {
@Test
public void issuedAtWhenUsingGenericOrNamedClaimMethodRequiresInstant() {
OidcIdToken.Builder idTokenBuilder = OidcIdToken.withTokenValue("token");
Instant now = Instant.now();
OidcIdToken idToken = idTokenBuilder.issuedAt(now).build();
assertThat(idToken.getIssuedAt()).isSameAs(now);
idToken = idTokenBuilder.issuedAt(now).build();
assertThat(idToken.getIssuedAt()).isSameAs(now);
assertThatCode(() -> idTokenBuilder.claim(IdTokenClaimNames.IAT, "not an instant").build())
.isInstanceOf(IllegalArgumentException.class);
}
@@ -82,13 +70,10 @@ public class OidcIdTokenBuilderTests {
@Test
public void subjectWhenUsingGenericOrNamedClaimMethodThenLastOneWins() {
OidcIdToken.Builder idTokenBuilder = OidcIdToken.withTokenValue("token");
String generic = new String("sub");
String named = new String("sub");
OidcIdToken idToken = idTokenBuilder.subject(named).claim(IdTokenClaimNames.SUB, generic).build();
assertThat(idToken.getSubject()).isSameAs(generic);
idToken = idTokenBuilder.claim(IdTokenClaimNames.SUB, generic).subject(named).build();
assertThat(idToken.getSubject()).isSameAs(named);
}
@@ -96,7 +81,6 @@ public class OidcIdTokenBuilderTests {
@Test
public void claimsWhenRemovingAClaimThenIsNotPresent() {
OidcIdToken.Builder idTokenBuilder = OidcIdToken.withTokenValue("token").claim("needs", "a claim");
OidcIdToken idToken = idTokenBuilder.subject("sub").claims((claims) -> claims.remove(IdTokenClaimNames.SUB))
.build();
assertThat(idToken.getSubject()).isNull();
@@ -105,11 +89,9 @@ public class OidcIdTokenBuilderTests {
@Test
public void claimsWhenAddingAClaimThenIsPresent() {
OidcIdToken.Builder idTokenBuilder = OidcIdToken.withTokenValue("token");
String name = new String("name");
String value = new String("value");
OidcIdToken idToken = idTokenBuilder.claims((claims) -> claims.put(name, value)).build();
assertThat(idToken.getClaims()).hasSize(1);
assertThat(idToken.getClaims().get(name)).isSameAs(value);
}

View File

@@ -85,7 +85,6 @@ public class OidcIdTokenTests {
private static final Map<String, Object> CLAIMS;
private static final String ID_TOKEN_VALUE = "id-token-value";
static {
CLAIMS = new HashMap<>();
CLAIMS.put(ISS_CLAIM, ISS_VALUE);
@@ -117,7 +116,6 @@ public class OidcIdTokenTests {
public void constructorWhenParametersProvidedAndValidThenCreated() {
OidcIdToken idToken = new OidcIdToken(ID_TOKEN_VALUE, Instant.ofEpochMilli(IAT_VALUE),
Instant.ofEpochMilli(EXP_VALUE), CLAIMS);
assertThat(idToken.getClaims()).isEqualTo(CLAIMS);
assertThat(idToken.getTokenValue()).isEqualTo(ID_TOKEN_VALUE);
assertThat(idToken.getIssuer().toString()).isEqualTo(ISS_VALUE);

View File

@@ -28,14 +28,10 @@ public class OidcUserInfoBuilderTests {
@Test
public void buildWhenCalledTwiceThenGeneratesTwoOidcUserInfos() {
OidcUserInfo.Builder userInfoBuilder = OidcUserInfo.builder();
OidcUserInfo first = userInfoBuilder.claim("TEST_CLAIM_1", "C1").build();
OidcUserInfo second = userInfoBuilder.claim("TEST_CLAIM_1", "C2").claim("TEST_CLAIM_2", "C3").build();
assertThat(first.getClaims()).hasSize(1);
assertThat(first.getClaims().get("TEST_CLAIM_1")).isEqualTo("C1");
assertThat(second.getClaims()).hasSize(2);
assertThat(second.getClaims().get("TEST_CLAIM_1")).isEqualTo("C2");
assertThat(second.getClaims().get("TEST_CLAIM_2")).isEqualTo("C3");
@@ -44,13 +40,10 @@ public class OidcUserInfoBuilderTests {
@Test
public void subjectWhenUsingGenericOrNamedClaimMethodThenLastOneWins() {
OidcUserInfo.Builder userInfoBuilder = OidcUserInfo.builder();
String generic = new String("sub");
String named = new String("sub");
OidcUserInfo userInfo = userInfoBuilder.subject(named).claim(IdTokenClaimNames.SUB, generic).build();
assertThat(userInfo.getSubject()).isSameAs(generic);
userInfo = userInfoBuilder.claim(IdTokenClaimNames.SUB, generic).subject(named).build();
assertThat(userInfo.getSubject()).isSameAs(named);
}
@@ -58,7 +51,6 @@ public class OidcUserInfoBuilderTests {
@Test
public void claimsWhenRemovingAClaimThenIsNotPresent() {
OidcUserInfo.Builder userInfoBuilder = OidcUserInfo.builder().claim("needs", "a claim");
OidcUserInfo userInfo = userInfoBuilder.subject("sub").claims((claims) -> claims.remove(IdTokenClaimNames.SUB))
.build();
assertThat(userInfo.getSubject()).isNull();
@@ -67,11 +59,9 @@ public class OidcUserInfoBuilderTests {
@Test
public void claimsWhenAddingAClaimThenIsPresent() {
OidcUserInfo.Builder userInfoBuilder = OidcUserInfo.builder();
String name = new String("name");
String value = new String("value");
OidcUserInfo userInfo = userInfoBuilder.claims((claims) -> claims.put(name, value)).build();
assertThat(userInfo.getClaims()).hasSize(1);
assertThat(userInfo.getClaims().get(name)).isSameAs(value);
}

View File

@@ -113,7 +113,6 @@ public class OidcUserInfoTests {
private static final long UPDATED_AT_VALUE = Instant.now().minusSeconds(60).toEpochMilli();
private static final Map<String, Object> CLAIMS;
static {
CLAIMS = new HashMap<>();
CLAIMS.put(SUB_CLAIM, SUB_VALUE);
@@ -134,7 +133,6 @@ public class OidcUserInfoTests {
CLAIMS.put(LOCALE_CLAIM, LOCALE_VALUE);
CLAIMS.put(PHONE_NUMBER_CLAIM, PHONE_NUMBER_VALUE);
CLAIMS.put(PHONE_NUMBER_VERIFIED_CLAIM, PHONE_NUMBER_VERIFIED_VALUE);
ADDRESS_VALUE = new HashMap<>();
ADDRESS_VALUE.put(DefaultAddressStandardClaimTests.FORMATTED_FIELD_NAME,
DefaultAddressStandardClaimTests.FORMATTED);
@@ -148,7 +146,6 @@ public class OidcUserInfoTests {
ADDRESS_VALUE.put(DefaultAddressStandardClaimTests.COUNTRY_FIELD_NAME,
DefaultAddressStandardClaimTests.COUNTRY);
CLAIMS.put(ADDRESS_CLAIM, ADDRESS_VALUE);
CLAIMS.put(UPDATED_AT_CLAIM, UPDATED_AT_VALUE);
}
@@ -160,7 +157,6 @@ public class OidcUserInfoTests {
@Test
public void constructorWhenParametersProvidedAndValidThenCreated() {
OidcUserInfo userInfo = new OidcUserInfo(CLAIMS);
assertThat(userInfo.getClaims()).isEqualTo(CLAIMS);
assertThat(userInfo.getSubject()).isEqualTo(SUB_VALUE);
assertThat(userInfo.getFullName()).isEqualTo(NAME_VALUE);

View File

@@ -54,14 +54,12 @@ public class DefaultOidcUserTests {
private static final Map<String, Object> ID_TOKEN_CLAIMS = new HashMap<>();
private static final Map<String, Object> USER_INFO_CLAIMS = new HashMap<>();
static {
ID_TOKEN_CLAIMS.put(IdTokenClaimNames.ISS, "https://example.com");
ID_TOKEN_CLAIMS.put(IdTokenClaimNames.SUB, SUBJECT);
USER_INFO_CLAIMS.put(StandardClaimNames.NAME, NAME);
USER_INFO_CLAIMS.put(StandardClaimNames.EMAIL, EMAIL);
}
private static final OidcIdToken ID_TOKEN = new OidcIdToken("id-token-value", Instant.EPOCH, Instant.MAX,
ID_TOKEN_CLAIMS);
@@ -85,7 +83,6 @@ public class DefaultOidcUserTests {
@Test
public void constructorWhenAuthoritiesIdTokenProvidedThenCreated() {
DefaultOidcUser user = new DefaultOidcUser(AUTHORITIES, ID_TOKEN);
assertThat(user.getClaims()).containsOnlyKeys(IdTokenClaimNames.ISS, IdTokenClaimNames.SUB);
assertThat(user.getIdToken()).isEqualTo(ID_TOKEN);
assertThat(user.getName()).isEqualTo(SUBJECT);
@@ -97,7 +94,6 @@ public class DefaultOidcUserTests {
@Test
public void constructorWhenAuthoritiesIdTokenNameAttributeKeyProvidedThenCreated() {
DefaultOidcUser user = new DefaultOidcUser(AUTHORITIES, ID_TOKEN, IdTokenClaimNames.SUB);
assertThat(user.getClaims()).containsOnlyKeys(IdTokenClaimNames.ISS, IdTokenClaimNames.SUB);
assertThat(user.getIdToken()).isEqualTo(ID_TOKEN);
assertThat(user.getName()).isEqualTo(SUBJECT);
@@ -109,7 +105,6 @@ public class DefaultOidcUserTests {
@Test
public void constructorWhenAuthoritiesIdTokenUserInfoProvidedThenCreated() {
DefaultOidcUser user = new DefaultOidcUser(AUTHORITIES, ID_TOKEN, USER_INFO);
assertThat(user.getClaims()).containsOnlyKeys(IdTokenClaimNames.ISS, IdTokenClaimNames.SUB,
StandardClaimNames.NAME, StandardClaimNames.EMAIL);
assertThat(user.getIdToken()).isEqualTo(ID_TOKEN);
@@ -124,7 +119,6 @@ public class DefaultOidcUserTests {
@Test
public void constructorWhenAllParametersProvidedAndValidThenCreated() {
DefaultOidcUser user = new DefaultOidcUser(AUTHORITIES, ID_TOKEN, USER_INFO, StandardClaimNames.EMAIL);
assertThat(user.getClaims()).containsOnlyKeys(IdTokenClaimNames.ISS, IdTokenClaimNames.SUB,
StandardClaimNames.NAME, StandardClaimNames.EMAIL);
assertThat(user.getIdToken()).isEqualTo(ID_TOKEN);

View File

@@ -48,14 +48,12 @@ public class OidcUserAuthorityTests {
private static final Map<String, Object> ID_TOKEN_CLAIMS = new HashMap<>();
private static final Map<String, Object> USER_INFO_CLAIMS = new HashMap<>();
static {
ID_TOKEN_CLAIMS.put(IdTokenClaimNames.ISS, "https://example.com");
ID_TOKEN_CLAIMS.put(IdTokenClaimNames.SUB, SUBJECT);
USER_INFO_CLAIMS.put(StandardClaimNames.NAME, NAME);
USER_INFO_CLAIMS.put(StandardClaimNames.EMAIL, EMAIL);
}
private static final OidcIdToken ID_TOKEN = new OidcIdToken("id-token-value", Instant.EPOCH, Instant.MAX,
ID_TOKEN_CLAIMS);
@@ -79,7 +77,6 @@ public class OidcUserAuthorityTests {
@Test
public void constructorWhenAllParametersProvidedAndValidThenCreated() {
OidcUserAuthority userAuthority = new OidcUserAuthority(AUTHORITY, ID_TOKEN, USER_INFO);
assertThat(userAuthority.getIdToken()).isEqualTo(ID_TOKEN);
assertThat(userAuthority.getUserInfo()).isEqualTo(USER_INFO);
assertThat(userAuthority.getAuthority()).isEqualTo(AUTHORITY);

View File

@@ -79,7 +79,6 @@ public class DefaultOAuth2UserTests {
@Test
public void constructorWhenAllParametersProvidedAndValidThenCreated() {
DefaultOAuth2User user = new DefaultOAuth2User(AUTHORITIES, ATTRIBUTES, ATTRIBUTE_NAME_KEY);
assertThat(user.getName()).isEqualTo(USERNAME);
assertThat(user.getAuthorities()).hasSize(1);
assertThat(user.getAuthorities().iterator().next()).isEqualTo(AUTHORITY);

View File

@@ -52,7 +52,6 @@ public class OAuth2UserAuthorityTests {
@Test
public void constructorWhenAllParametersProvidedAndValidThenCreated() {
OAuth2UserAuthority userAuthority = new OAuth2UserAuthority(AUTHORITY, ATTRIBUTES);
assertThat(userAuthority.getAuthority()).isEqualTo(AUTHORITY);
assertThat(userAuthority.getAttributes()).isEqualTo(ATTRIBUTES);
}

View File

@@ -63,7 +63,6 @@ public class OAuth2BodyExtractorsTests {
messageReaders.add(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes()));
messageReaders.add(new DecoderHttpMessageReader<>(new Jackson2JsonDecoder()));
messageReaders.add(new FormHttpMessageReader());
this.hints = new HashMap<>();
this.context = new BodyExtractor.Context() {
@Override
@@ -87,13 +86,10 @@ public class OAuth2BodyExtractorsTests {
public void oauth2AccessTokenResponseWhenInvalidJsonThenException() {
BodyExtractor<Mono<OAuth2AccessTokenResponse>, ReactiveHttpInputMessage> extractor = OAuth2BodyExtractors
.oauth2AccessTokenResponse();
MockClientHttpResponse response = new MockClientHttpResponse(HttpStatus.OK);
response.getHeaders().setContentType(MediaType.APPLICATION_JSON);
response.setBody("{");
Mono<OAuth2AccessTokenResponse> result = extractor.extract(response, this.context);
assertThatCode(result::block).isInstanceOf(OAuth2AuthorizationException.class)
.hasMessageContaining("An error occurred parsing the Access Token response");
}
@@ -102,11 +98,8 @@ public class OAuth2BodyExtractorsTests {
public void oauth2AccessTokenResponseWhenEmptyThenException() {
BodyExtractor<Mono<OAuth2AccessTokenResponse>, ReactiveHttpInputMessage> extractor = OAuth2BodyExtractors
.oauth2AccessTokenResponse();
MockClientHttpResponse response = new MockClientHttpResponse(HttpStatus.OK);
Mono<OAuth2AccessTokenResponse> result = extractor.extract(response, this.context);
assertThatCode(result::block).isInstanceOf(OAuth2AuthorizationException.class)
.hasMessageContaining("Empty OAuth 2.0 Access Token Response");
}
@@ -115,17 +108,14 @@ public class OAuth2BodyExtractorsTests {
public void oauth2AccessTokenResponseWhenValidThenCreated() {
BodyExtractor<Mono<OAuth2AccessTokenResponse>, ReactiveHttpInputMessage> extractor = OAuth2BodyExtractors
.oauth2AccessTokenResponse();
MockClientHttpResponse response = new MockClientHttpResponse(HttpStatus.OK);
response.getHeaders().setContentType(MediaType.APPLICATION_JSON);
response.setBody(
"{\n" + " \"access_token\":\"2YotnFZFEjr1zCsicMWpAA\",\n" + " \"token_type\":\"Bearer\",\n"
+ " \"expires_in\":3600,\n" + " \"refresh_token\":\"tGzv3JOkF0XG5Qx2TlKWIA\",\n"
+ " \"example_parameter\":\"example_value\"\n" + " }");
Instant now = Instant.now();
OAuth2AccessTokenResponse result = extractor.extract(response, this.context).block();
assertThat(result.getAccessToken().getTokenValue()).isEqualTo("2YotnFZFEjr1zCsicMWpAA");
assertThat(result.getAccessToken().getTokenType()).isEqualTo(OAuth2AccessToken.TokenType.BEARER);
assertThat(result.getAccessToken().getExpiresAt()).isBetween(now.plusSeconds(3600), now.plusSeconds(3600 + 2));
@@ -138,17 +128,14 @@ public class OAuth2BodyExtractorsTests {
public void oauth2AccessTokenResponseWhenMultipleAttributeTypesThenCreated() {
BodyExtractor<Mono<OAuth2AccessTokenResponse>, ReactiveHttpInputMessage> extractor = OAuth2BodyExtractors
.oauth2AccessTokenResponse();
MockClientHttpResponse response = new MockClientHttpResponse(HttpStatus.OK);
response.getHeaders().setContentType(MediaType.APPLICATION_JSON);
response.setBody(
"{\n" + " \"access_token\":\"2YotnFZFEjr1zCsicMWpAA\",\n" + " \"token_type\":\"Bearer\",\n"
+ " \"expires_in\":3600,\n" + " \"refresh_token\":\"tGzv3JOkF0XG5Qx2TlKWIA\",\n"
+ " \"subjson\":{}, \n" + " \"list\":[] \n" + " }");
Instant now = Instant.now();
OAuth2AccessTokenResponse result = extractor.extract(response, this.context).block();
assertThat(result.getAccessToken().getTokenValue()).isEqualTo("2YotnFZFEjr1zCsicMWpAA");
assertThat(result.getAccessToken().getTokenType()).isEqualTo(OAuth2AccessToken.TokenType.BEARER);
assertThat(result.getAccessToken().getExpiresAt()).isBetween(now.plusSeconds(3600), now.plusSeconds(3600 + 2));