Consistent use of @Nullable in spring-test

This commit also removes nullability from two common spots: ResolvableType.getType() and TargetSource.getTarget(), both of which are never effectively null with any regular implementation. For such scenarios, a non-null empty type/target is the cleaner contract.

Issue: SPR-15540
This commit is contained in:
Juergen Hoeller
2017-06-08 22:52:57 +02:00
parent ee5fa2633a
commit fd53d2a51a
134 changed files with 812 additions and 777 deletions

View File

@@ -190,12 +190,6 @@ public class MockHttpServletRequestTests {
assertEquals("HTTP header casing not being preserved", headerName, requestHeaders.nextElement());
}
@Test
public void nullParameterName() {
assertNull(request.getParameter(null));
assertNull(request.getParameterValues(null));
}
@Test
public void setMultipleParameters() {
request.setParameter("key1", "value1");

View File

@@ -171,12 +171,12 @@ public class MergedContextConfigurationTests {
@Test
public void hashCodeWithSameInitializers() {
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializerClasses1 =
Set<Class<? extends ApplicationContextInitializer<?>>> initializerClasses1 =
new HashSet<>();
initializerClasses1.add(FooInitializer.class);
initializerClasses1.add(BarInitializer.class);
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializerClasses2 =
Set<Class<? extends ApplicationContextInitializer<?>>> initializerClasses2 =
new HashSet<>();
initializerClasses2.add(BarInitializer.class);
initializerClasses2.add(FooInitializer.class);
@@ -190,11 +190,11 @@ public class MergedContextConfigurationTests {
@Test
public void hashCodeWithDifferentInitializers() {
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializerClasses1 =
Set<Class<? extends ApplicationContextInitializer<?>>> initializerClasses1 =
new HashSet<>();
initializerClasses1.add(FooInitializer.class);
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializerClasses2 =
Set<Class<? extends ApplicationContextInitializer<?>>> initializerClasses2 =
new HashSet<>();
initializerClasses2.add(BarInitializer.class);
@@ -368,12 +368,12 @@ public class MergedContextConfigurationTests {
@Test
public void equalsWithSameInitializers() {
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializerClasses1 =
Set<Class<? extends ApplicationContextInitializer<?>>> initializerClasses1 =
new HashSet<>();
initializerClasses1.add(FooInitializer.class);
initializerClasses1.add(BarInitializer.class);
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializerClasses2 =
Set<Class<? extends ApplicationContextInitializer<?>>> initializerClasses2 =
new HashSet<>();
initializerClasses2.add(BarInitializer.class);
initializerClasses2.add(FooInitializer.class);
@@ -387,11 +387,11 @@ public class MergedContextConfigurationTests {
@Test
public void equalsWithDifferentInitializers() {
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializerClasses1 =
Set<Class<? extends ApplicationContextInitializer<?>>> initializerClasses1 =
new HashSet<>();
initializerClasses1.add(FooInitializer.class);
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializerClasses2 =
Set<Class<? extends ApplicationContextInitializer<?>>> initializerClasses2 =
new HashSet<>();
initializerClasses2.add(BarInitializer.class);

View File

@@ -54,8 +54,8 @@ abstract class AbstractContextConfigurationUtilsTests {
static final String[] EMPTY_STRING_ARRAY = new String[0];
static final Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>>
EMPTY_INITIALIZER_CLASSES = Collections.<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> emptySet();
static final Set<Class<? extends ApplicationContextInitializer<?>>>
EMPTY_INITIALIZER_CLASSES = Collections.<Class<? extends ApplicationContextInitializer<?>>> emptySet();
MergedContextConfiguration buildMergedContextConfiguration(Class<?> testClass) {
@@ -89,7 +89,7 @@ abstract class AbstractContextConfigurationUtilsTests {
Class<?> expectedTestClass,
String[] expectedLocations,
Class<?>[] expectedClasses,
Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> expectedInitializerClasses,
Set<Class<? extends ApplicationContextInitializer<?>>> expectedInitializerClasses,
Class<? extends ContextLoader> expectedContextLoaderClass) {
assertNotNull(mergedConfig);

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2016 the original author or authors.
* Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -205,9 +205,8 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
/**
* @since 4.0
*/
@Test(expected = IllegalStateException.class)
public void resolveActiveProfilesWithResolverThatReturnsNull() {
resolveActiveProfiles(NullActiveProfilesResolverTestCase.class);
assertResolvedProfiles(NullActiveProfilesResolverTestCase.class);
}
/**

View File

@@ -84,8 +84,8 @@ public class BootstrapTestUtilsContextInitializerTests extends AbstractContextCo
initializers(BarInitializer.class), DelegatingSmartContextLoader.class);
}
private Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>> initializers(
Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>... classes) {
private Set<Class<? extends ApplicationContextInitializer<?>>> initializers(
Class<? extends ApplicationContextInitializer<?>>... classes) {
return new HashSet<>(Arrays.asList(classes));
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2016 the original author or authors.
* Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,7 +20,6 @@ import java.io.IOException;
import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.WebClient;
import org.junit.Before;
import org.junit.Test;
import org.springframework.test.web.servlet.MockMvc;
@@ -39,47 +38,35 @@ public class MockMvcWebConnectionTests {
private final WebClient webClient = new WebClient();
private MockMvc mockMvc;
private final MockMvc mockMvc =
MockMvcBuilders.standaloneSetup(new HelloController(), new ForwardController()).build();
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.standaloneSetup(new HelloController(), new ForwardController()).build();
}
@Test
public void contextPathNull() throws IOException {
this.webClient.setWebConnection(new MockMvcWebConnection(this.mockMvc, this.webClient));
Page page = this.webClient.getPage("http://localhost/context/a");
assertThat(page.getWebResponse().getStatusCode(), equalTo(200));
}
@Test
public void contextPathExplicit() throws IOException {
this.webClient.setWebConnection(new MockMvcWebConnection(this.mockMvc, this.webClient, "/context"));
Page page = this.webClient.getPage("http://localhost/context/a");
assertThat(page.getWebResponse().getStatusCode(), equalTo(200));
}
@Test
public void contextPathEmpty() throws IOException {
this.webClient.setWebConnection(new MockMvcWebConnection(this.mockMvc, this.webClient, ""));
Page page = this.webClient.getPage("http://localhost/context/a");
assertThat(page.getWebResponse().getStatusCode(), equalTo(200));
}
@Test
public void forward() throws IOException {
this.webClient.setWebConnection(new MockMvcWebConnection(this.mockMvc, this.webClient, ""));
Page page = this.webClient.getPage("http://localhost/forward");
assertThat(page.getWebResponse().getContentAsString(), equalTo("hello"));
}