Browse Source

Add nullability annotations to tests in module/spring-boot-security-oauth2-client

See gh-47263
pull/47626/head
Moritz Halbritter 2 months ago
parent
commit
b0b5b1b463
  1. 6
      module/spring-boot-security-oauth2-client/build.gradle
  2. 11
      module/spring-boot-security-oauth2-client/src/test/java/org/springframework/boot/security/oauth2/client/autoconfigure/OAuth2ClientPropertiesMapperTests.java
  3. 1
      module/spring-boot-security-oauth2-client/src/test/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientWebSecurityAutoConfigurationTests.java
  4. 6
      module/spring-boot-security-oauth2-client/src/test/java/org/springframework/boot/security/oauth2/client/autoconfigure/servlet/OAuth2ClientWebSecurityAutoConfigurationTests.java

6
module/spring-boot-security-oauth2-client/build.gradle

@ -44,6 +44,12 @@ dependencies { @@ -44,6 +44,12 @@ dependencies {
testImplementation("com.squareup.okhttp3:mockwebserver")
testImplementation("tools.jackson.core:jackson-databind")
testCompileOnly("com.google.code.findbugs:jsr305")
testRuntimeOnly("ch.qos.logback:logback-classic")
testRuntimeOnly("org.springframework:spring-webflux")
}
tasks.named("compileTestJava") {
options.nullability.checking = "tests"
}

11
module/spring-boot-security-oauth2-client/src/test/java/org/springframework/boot/security/oauth2/client/autoconfigure/OAuth2ClientPropertiesMapperTests.java

@ -22,6 +22,7 @@ import java.util.Map; @@ -22,6 +22,7 @@ import java.util.Map;
import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.MockWebServer;
import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import tools.jackson.databind.ObjectMapper;
@ -51,7 +52,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException; @@ -51,7 +52,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
*/
class OAuth2ClientPropertiesMapperTests {
private MockWebServer server;
private @Nullable MockWebServer server;
@AfterEach
void cleanup() throws Exception {
@ -72,6 +73,7 @@ class OAuth2ClientPropertiesMapperTests { @@ -72,6 +73,7 @@ class OAuth2ClientPropertiesMapperTests {
Map<String, ClientRegistration> registrations = new OAuth2ClientPropertiesMapper(properties)
.asClientRegistrations();
ClientRegistration adapted = registrations.get("registration");
assertThat(adapted).isNotNull();
ProviderDetails adaptedProvider = adapted.getProviderDetails();
assertThat(adaptedProvider.getAuthorizationUri()).isEqualTo("https://example.com/auth");
assertThat(adaptedProvider.getTokenUri()).isEqualTo("https://example.com/token");
@ -104,6 +106,7 @@ class OAuth2ClientPropertiesMapperTests { @@ -104,6 +106,7 @@ class OAuth2ClientPropertiesMapperTests {
Map<String, ClientRegistration> registrations = new OAuth2ClientPropertiesMapper(properties)
.asClientRegistrations();
ClientRegistration adapted = registrations.get("registration");
assertThat(adapted).isNotNull();
ProviderDetails adaptedProvider = adapted.getProviderDetails();
assertThat(adaptedProvider.getAuthorizationUri()).isEqualTo("https://accounts.google.com/o/oauth2/v2/auth");
assertThat(adaptedProvider.getTokenUri()).isEqualTo("https://www.googleapis.com/oauth2/v4/token");
@ -132,6 +135,7 @@ class OAuth2ClientPropertiesMapperTests { @@ -132,6 +135,7 @@ class OAuth2ClientPropertiesMapperTests {
Map<String, ClientRegistration> registrations = new OAuth2ClientPropertiesMapper(properties)
.asClientRegistrations();
ClientRegistration adapted = registrations.get("registration");
assertThat(adapted).isNotNull();
ProviderDetails adaptedProvider = adapted.getProviderDetails();
assertThat(adaptedProvider.getAuthorizationUri()).isEqualTo("https://accounts.google.com/o/oauth2/v2/auth");
assertThat(adaptedProvider.getTokenUri()).isEqualTo("https://www.googleapis.com/oauth2/v4/token");
@ -174,6 +178,7 @@ class OAuth2ClientPropertiesMapperTests { @@ -174,6 +178,7 @@ class OAuth2ClientPropertiesMapperTests {
Map<String, ClientRegistration> registrations = new OAuth2ClientPropertiesMapper(properties)
.asClientRegistrations();
ClientRegistration adapted = registrations.get("google");
assertThat(adapted).isNotNull();
ProviderDetails adaptedProvider = adapted.getProviderDetails();
assertThat(adaptedProvider.getAuthorizationUri()).isEqualTo("https://accounts.google.com/o/oauth2/v2/auth");
assertThat(adaptedProvider.getTokenUri()).isEqualTo("https://www.googleapis.com/oauth2/v4/token");
@ -252,6 +257,7 @@ class OAuth2ClientPropertiesMapperTests { @@ -252,6 +257,7 @@ class OAuth2ClientPropertiesMapperTests {
Map<String, ClientRegistration> registrations = new OAuth2ClientPropertiesMapper(properties)
.asClientRegistrations();
ClientRegistration adapted = registrations.get("okta");
assertThat(adapted).isNotNull();
ProviderDetails providerDetails = adapted.getProviderDetails();
assertThat(adapted.getClientAuthenticationMethod()).isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_POST);
assertThat(adapted.getAuthorizationGrantType()).isEqualTo(AuthorizationGrantType.AUTHORIZATION_CODE);
@ -303,6 +309,7 @@ class OAuth2ClientPropertiesMapperTests { @@ -303,6 +309,7 @@ class OAuth2ClientPropertiesMapperTests {
Map<String, ClientRegistration> registrations = new OAuth2ClientPropertiesMapper(properties)
.asClientRegistrations();
ClientRegistration adapted = registrations.get("okta");
assertThat(adapted).isNotNull();
ProviderDetails providerDetails = adapted.getProviderDetails();
assertThat(adapted.getClientAuthenticationMethod()).isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC);
assertThat(adapted.getAuthorizationGrantType()).isEqualTo(AuthorizationGrantType.AUTHORIZATION_CODE);
@ -323,10 +330,12 @@ class OAuth2ClientPropertiesMapperTests { @@ -323,10 +330,12 @@ class OAuth2ClientPropertiesMapperTests {
MockResponse mockResponse = new MockResponse().setResponseCode(HttpStatus.OK.value())
.setBody(new ObjectMapper().writeValueAsString(getResponse(issuer)))
.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
assertThat(this.server).isNotNull();
this.server.enqueue(mockResponse);
}
private void setupMockResponsesWithErrors(String issuer, int errorResponseCount) {
assertThat(this.server).isNotNull();
for (int i = 0; i < errorResponseCount; i++) {
MockResponse emptyResponse = new MockResponse().setResponseCode(HttpStatus.NOT_FOUND.value());
this.server.enqueue(emptyResponse);

1
module/spring-boot-security-oauth2-client/src/test/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientWebSecurityAutoConfigurationTests.java

@ -117,6 +117,7 @@ class ReactiveOAuth2ClientWebSecurityAutoConfigurationTests { @@ -117,6 +117,7 @@ class ReactiveOAuth2ClientWebSecurityAutoConfigurationTests {
SecurityWebFilterChain filterChain = (SecurityWebFilterChain) context
.getBean(BeanIds.SPRING_SECURITY_FILTER_CHAIN);
List<WebFilter> filters = (List<WebFilter>) ReflectionTestUtils.getField(filterChain, "filters");
assertThat(filters).isNotNull();
return filters.stream().anyMatch(filter::isInstance);
}

6
module/spring-boot-security-oauth2-client/src/test/java/org/springframework/boot/security/oauth2/client/autoconfigure/servlet/OAuth2ClientWebSecurityAutoConfigurationTests.java

@ -90,6 +90,7 @@ class OAuth2ClientWebSecurityAutoConfigurationTests { @@ -90,6 +90,7 @@ class OAuth2ClientWebSecurityAutoConfigurationTests {
ClientRegistrationRepository actual = (ClientRegistrationRepository) ReflectionTestUtils.getField(
getSecurityFilters(context, OAuth2LoginAuthenticationFilter.class).get(0),
"clientRegistrationRepository");
assertThat(actual).isNotNull();
assertThat(isEqual(expected.findByRegistrationId("first"), actual.findByRegistrationId("first"))).isTrue();
assertThat(isEqual(expected.findByRegistrationId("second"), actual.findByRegistrationId("second")))
.isTrue();
@ -103,6 +104,7 @@ class OAuth2ClientWebSecurityAutoConfigurationTests { @@ -103,6 +104,7 @@ class OAuth2ClientWebSecurityAutoConfigurationTests {
ClientRegistrationRepository actual = (ClientRegistrationRepository) ReflectionTestUtils.getField(
getSecurityFilters(context, OAuth2AuthorizationCodeGrantFilter.class).get(0),
"clientRegistrationRepository");
assertThat(actual).isNotNull();
assertThat(isEqual(expected.findByRegistrationId("first"), actual.findByRegistrationId("first"))).isTrue();
assertThat(isEqual(expected.findByRegistrationId("second"), actual.findByRegistrationId("second")))
.isTrue();
@ -145,8 +147,7 @@ class OAuth2ClientWebSecurityAutoConfigurationTests { @@ -145,8 +147,7 @@ class OAuth2ClientWebSecurityAutoConfigurationTests {
private SecurityFilterChain getSecurityFilterChain(AssertableWebApplicationContext context) {
Filter springSecurityFilterChain = context.getBean(BeanIds.SPRING_SECURITY_FILTER_CHAIN, Filter.class);
FilterChainProxy filterChainProxy = getFilterChainProxy(springSecurityFilterChain);
SecurityFilterChain securityFilterChain = filterChainProxy.getFilterChains().get(0);
return securityFilterChain;
return filterChainProxy.getFilterChains().get(0);
}
private FilterChainProxy getFilterChainProxy(Filter filter) {
@ -155,6 +156,7 @@ class OAuth2ClientWebSecurityAutoConfigurationTests { @@ -155,6 +156,7 @@ class OAuth2ClientWebSecurityAutoConfigurationTests {
}
if (filter instanceof CompositeFilter) {
List<?> filters = (List<?>) ReflectionTestUtils.getField(filter, "filters");
assertThat(filters).isNotNull();
return (FilterChainProxy) filters.stream()
.filter(FilterChainProxy.class::isInstance)
.findFirst()

Loading…
Cancel
Save