Skip to content

Commit 9a45752

Browse files
committed
Polish test
1 parent 36a0537 commit 9a45752

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jpa/JpaWebAutoConfigurationTests.java

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@
1616

1717
package org.springframework.boot.autoconfigure.data.jpa;
1818

19-
import org.junit.After;
2019
import org.junit.Test;
2120

21+
import org.springframework.boot.autoconfigure.AutoConfigurations;
2222
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
23-
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
2423
import org.springframework.boot.autoconfigure.data.jpa.city.City;
2524
import org.springframework.boot.autoconfigure.data.jpa.city.CityRepository;
2625
import org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration;
27-
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
26+
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
2827
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
28+
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
2929
import org.springframework.context.annotation.Configuration;
30+
import org.springframework.data.geo.Distance;
3031
import org.springframework.data.web.PageableHandlerMethodArgumentResolver;
32+
import org.springframework.data.web.SortHandlerMethodArgumentResolver;
3133
import org.springframework.format.support.FormattingConversionService;
32-
import org.springframework.mock.web.MockServletContext;
33-
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
3434
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
3535

3636
import static org.assertj.core.api.Assertions.assertThat;
@@ -40,33 +40,31 @@
4040
* {@link JpaRepositoriesAutoConfiguration}.
4141
*
4242
* @author Dave Syer
43+
* @author Stephane Nicoll
4344
*/
4445
public class JpaWebAutoConfigurationTests {
4546

46-
private AnnotationConfigWebApplicationContext context;
47-
48-
@After
49-
public void close() {
50-
this.context.close();
51-
}
47+
private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner()
48+
.withConfiguration(
49+
AutoConfigurations.of(DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
50+
JpaRepositoriesAutoConfiguration.class, SpringDataWebAutoConfiguration.class))
51+
.withPropertyValues("spring.datasource.generate-unique-name=true");
5252

5353
@Test
54-
public void testDefaultRepositoryConfiguration() {
55-
this.context = new AnnotationConfigWebApplicationContext();
56-
this.context.setServletContext(new MockServletContext());
57-
this.context.register(TestConfiguration.class, EmbeddedDataSourceConfiguration.class,
58-
HibernateJpaAutoConfiguration.class, JpaRepositoriesAutoConfiguration.class,
59-
SpringDataWebAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class);
60-
this.context.refresh();
61-
assertThat(this.context.getBean(CityRepository.class)).isNotNull();
62-
assertThat(this.context.getBean(PageableHandlerMethodArgumentResolver.class)).isNotNull();
63-
assertThat(this.context.getBean(FormattingConversionService.class).canConvert(Long.class, City.class)).isTrue();
54+
public void springDataWebIsConfiguredWithJpaRepositories() {
55+
this.contextRunner.withUserConfiguration(TestConfiguration.class).run((context) -> {
56+
assertThat(context).hasSingleBean(CityRepository.class);
57+
assertThat(context).hasSingleBean(PageableHandlerMethodArgumentResolver.class);
58+
assertThat(context).hasSingleBean(SortHandlerMethodArgumentResolver.class);
59+
assertThat(context.getBean(FormattingConversionService.class).canConvert(String.class, Distance.class))
60+
.isTrue();
61+
});
6462
}
6563

6664
@Configuration
6765
@TestAutoConfigurationPackage(City.class)
6866
@EnableWebMvc
69-
protected static class TestConfiguration {
67+
static class TestConfiguration {
7068

7169
}
7270

0 commit comments

Comments
 (0)