Merge branch '1.1.x'
This commit is contained in:
commit
5811f6e3f5
|
|
@ -28,6 +28,7 @@ import org.springframework.boot.context.embedded.EmbeddedWebApplicationContext;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.web.multipart.MultipartResolver;
|
||||||
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
|
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -60,7 +61,7 @@ public class MultipartAutoConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean
|
@ConditionalOnMissingBean(value = MultipartResolver.class)
|
||||||
public StandardServletMultipartResolver multipartResolver() {
|
public StandardServletMultipartResolver multipartResolver() {
|
||||||
return new StandardServletMultipartResolver();
|
return new StandardServletMultipartResolver();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,14 @@ import org.junit.runner.RunWith;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
|
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||||
|
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration;
|
import org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.security.user.SecurityConfig;
|
import org.springframework.boot.autoconfigure.security.user.SecurityConfig;
|
||||||
import org.springframework.boot.test.SpringApplicationConfiguration;
|
import org.springframework.boot.test.SpringApplicationConfiguration;
|
||||||
import org.springframework.context.annotation.ComponentScan;
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
|
import org.springframework.test.annotation.DirtiesContext;
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -39,6 +41,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||||
*/
|
*/
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
@RunWith(SpringJUnit4ClassRunner.class)
|
||||||
@SpringApplicationConfiguration(classes = JpaUserDetailsTests.Main.class)
|
@SpringApplicationConfiguration(classes = JpaUserDetailsTests.Main.class)
|
||||||
|
@DirtiesContext
|
||||||
public class JpaUserDetailsTests {
|
public class JpaUserDetailsTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -49,7 +52,8 @@ public class JpaUserDetailsTests {
|
||||||
SpringApplication.run(Main.class, args);
|
SpringApplication.run(Main.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Import({ DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
|
@Import({ EmbeddedDataSourceConfiguration.class, DataSourceAutoConfiguration.class,
|
||||||
|
HibernateJpaAutoConfiguration.class,
|
||||||
PropertyPlaceholderAutoConfiguration.class, SecurityAutoConfiguration.class })
|
PropertyPlaceholderAutoConfiguration.class, SecurityAutoConfiguration.class })
|
||||||
@ComponentScan(basePackageClasses = SecurityConfig.class)
|
@ComponentScan(basePackageClasses = SecurityConfig.class)
|
||||||
public static class Main {
|
public static class Main {
|
||||||
|
|
|
||||||
|
|
@ -39,11 +39,14 @@ import org.springframework.web.servlet.DispatcherServlet;
|
||||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
||||||
|
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
|
import static org.hamcrest.Matchers.instanceOf;
|
||||||
|
import static org.hamcrest.Matchers.not;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertSame;
|
import static org.junit.Assert.assertSame;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link MultipartAutoConfiguration}. Tests an empty configuration, no
|
* Tests for {@link MultipartAutoConfiguration}. Tests an empty configuration, no
|
||||||
|
|
@ -165,6 +168,16 @@ public class MultipartAutoConfigurationTests {
|
||||||
assertEquals(0, this.context.getBeansOfType(MultipartConfigElement.class).size());
|
assertEquals(0, this.context.getBeansOfType(MultipartConfigElement.class).size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void containerWithCustomMulipartResolver() throws Exception {
|
||||||
|
this.context = new AnnotationConfigEmbeddedWebApplicationContext(
|
||||||
|
ContainerWithCustomMultipartResolver.class, BaseConfiguration.class);
|
||||||
|
MultipartResolver multipartResolver = this.context
|
||||||
|
.getBean(MultipartResolver.class);
|
||||||
|
assertThat(multipartResolver,
|
||||||
|
not(instanceOf(StandardServletMultipartResolver.class)));
|
||||||
|
}
|
||||||
|
|
||||||
private void verifyServletWorks() {
|
private void verifyServletWorks() {
|
||||||
RestTemplate restTemplate = new RestTemplate();
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
assertEquals("Hello", restTemplate.getForObject("http://localhost:"
|
assertEquals("Hello", restTemplate.getForObject("http://localhost:"
|
||||||
|
|
@ -243,6 +256,15 @@ public class MultipartAutoConfigurationTests {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class ContainerWithCustomMultipartResolver {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
MultipartResolver multipartResolver() {
|
||||||
|
return mock(MultipartResolver.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
public static class WebController {
|
public static class WebController {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue