diff --git a/pom.xml b/pom.xml index 062e7754a..3e016864d 100644 --- a/pom.xml +++ b/pom.xml @@ -264,6 +264,14 @@ test + + org.mockito + mockito-junit-jupiter + ${mockito} + test + + + diff --git a/src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientTests.java b/src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientTests.java index a35c0095f..599948872 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientTests.java @@ -18,8 +18,6 @@ import static org.assertj.core.api.Assertions.*; import lombok.SneakyThrows; -import org.junit.ClassRule; -import org.springframework.data.elasticsearch.junit.junit4.TestNodeResource; import reactor.test.StepVerifier; import java.io.IOException; @@ -50,33 +48,27 @@ import org.elasticsearch.index.reindex.DeleteByQueryRequest; import org.elasticsearch.rest.RestStatus; import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.data.elasticsearch.junit.junit4.ElasticsearchVersion; -import org.springframework.data.elasticsearch.junit.junit4.ElasticsearchVersionRule; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.elasticsearch.TestUtils; import org.springframework.data.elasticsearch.client.ClientConfiguration; +import org.springframework.data.elasticsearch.junit.junit4.ElasticsearchVersion; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.http.HttpHeaders; import org.springframework.lang.Nullable; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Christoph Strobl * @author Mark Paluch * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) +@SpringIntegrationTest +@ContextConfiguration(classes = { ElasticsearchRestTemplateConfiguration.class }) public class ReactiveElasticsearchClientTests { - @ClassRule - public static TestNodeResource testNodeResource = new TestNodeResource(); - - public @Rule ElasticsearchVersionRule elasticsearchVersion = ElasticsearchVersionRule.any(); - static final String INDEX_I = "idx-1-reactive-client-tests"; static final String INDEX_II = "idx-2-reactive-client-tests"; @@ -99,7 +91,7 @@ public class ReactiveElasticsearchClientTests { DOC_SOURCE = Collections.unmodifiableMap(source); } - @Before + @BeforeEach public void setUp() { syncClient = TestUtils.restHighLevelClient(); @@ -108,7 +100,7 @@ public void setUp() { TestUtils.deleteIndex(INDEX_I, INDEX_II); } - @After + @AfterEach public void after() throws IOException { TestUtils.deleteIndex(INDEX_I, INDEX_II); diff --git a/src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java index 9494f505d..c7317151b 100644 --- a/src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java @@ -23,7 +23,7 @@ import org.apache.commons.lang.ClassUtils; import org.elasticsearch.client.RestHighLevelClient; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.AbstractApplicationContext; diff --git a/src/test/java/org/springframework/data/elasticsearch/config/abstractelasticsearchconfiguration/ElasticsearchConfigurationTests.java b/src/test/java/org/springframework/data/elasticsearch/config/abstractelasticsearchconfiguration/ElasticsearchConfigurationTests.java index 501917cb9..4ec7d5fbf 100644 --- a/src/test/java/org/springframework/data/elasticsearch/config/abstractelasticsearchconfiguration/ElasticsearchConfigurationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/config/abstractelasticsearchconfiguration/ElasticsearchConfigurationTests.java @@ -19,8 +19,8 @@ import static org.mockito.Mockito.*; import org.elasticsearch.client.RestHighLevelClient; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.data.annotation.Id; @@ -29,14 +29,14 @@ import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; /** * Tests for {@link AbstractElasticsearchConfiguration}. * * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration public class ElasticsearchConfigurationTests { diff --git a/src/test/java/org/springframework/data/elasticsearch/config/nested/EnableNestedElasticsearchRepositoriesTests.java b/src/test/java/org/springframework/data/elasticsearch/config/nested/EnableNestedElasticsearchRepositoriesTests.java index 2fbb003c3..8c232a9dd 100644 --- a/src/test/java/org/springframework/data/elasticsearch/config/nested/EnableNestedElasticsearchRepositoriesTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/config/nested/EnableNestedElasticsearchRepositoriesTests.java @@ -24,47 +24,36 @@ import java.lang.Double; import java.lang.Long; -import org.elasticsearch.node.NodeValidationException; -import org.junit.Test; -import org.junit.runner.RunWith; - +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Version; -import org.springframework.data.elasticsearch.Utils; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.Score; import org.springframework.data.elasticsearch.annotations.ScriptedField; -import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.geo.GeoPoint; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.repository.Repository; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Kevin Leturc * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration +@SpringIntegrationTest +@ContextConfiguration(classes = { EnableNestedElasticsearchRepositoriesTests.Config.class }) public class EnableNestedElasticsearchRepositoriesTests { @Configuration + @Import({ ElasticsearchTemplateConfiguration.class }) @EnableElasticsearchRepositories(basePackages = { "org.springframework.data.elasticsearch.config.nested" }, considerNestedRepositories = true) - static class Config { - - @Bean - public ElasticsearchOperations elasticsearchTemplate() throws NodeValidationException { - return new ElasticsearchTemplate(Utils.getNodeClient()); - } - - } + static class Config {} @Autowired(required = false) private SampleRepository nestedRepository; diff --git a/src/test/java/org/springframework/data/elasticsearch/config/notnested/EnableElasticsearchRepositoriesTests.java b/src/test/java/org/springframework/data/elasticsearch/config/notnested/EnableElasticsearchRepositoriesTests.java index c8533bb0b..41d45b138 100644 --- a/src/test/java/org/springframework/data/elasticsearch/config/notnested/EnableElasticsearchRepositoriesTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/config/notnested/EnableElasticsearchRepositoriesTests.java @@ -24,34 +24,30 @@ import java.lang.Long; import java.util.UUID; -import org.elasticsearch.node.NodeValidationException; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.BeansException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Version; -import org.springframework.data.elasticsearch.Utils; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.annotations.Score; import org.springframework.data.elasticsearch.annotations.ScriptedField; -import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.geo.GeoPoint; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.data.repository.Repository; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Rizwan Idrees @@ -60,8 +56,8 @@ * @author Gad Akuka * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration +@SpringIntegrationTest +@ContextConfiguration(classes = { EnableElasticsearchRepositoriesTests.Config.class }) public class EnableElasticsearchRepositoriesTests implements ApplicationContextAware { ApplicationContext context; @@ -73,15 +69,9 @@ public void setApplicationContext(ApplicationContext applicationContext) throws } @Configuration + @Import({ ElasticsearchTemplateConfiguration.class }) @EnableElasticsearchRepositories(basePackages = { "org.springframework.data.elasticsearch.config.notnested" }) - static class Config { - - @Bean - public ElasticsearchOperations elasticsearchTemplate() throws NodeValidationException { - - return new ElasticsearchTemplate(Utils.getNodeClient()); - } - } + static class Config {} @Autowired ElasticsearchTemplate elasticsearchTemplate; @@ -91,7 +81,7 @@ public ElasticsearchOperations elasticsearchTemplate() throws NodeValidationExce interface SampleRepository extends Repository {} - @Before + @BeforeEach public void before() { IndexInitializer.init(elasticsearchTemplate, SampleEntity.class); } diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateTests.java index e7af17f1d..255daf908 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateTests.java @@ -40,11 +40,9 @@ import java.util.stream.IntStream; import org.elasticsearch.ElasticsearchStatusException; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.dao.DataAccessResourceFailureException; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Version; @@ -63,9 +61,9 @@ import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.core.query.StringQuery; import org.springframework.data.elasticsearch.junit.junit4.ElasticsearchVersion; -import org.springframework.data.elasticsearch.junit.junit4.ElasticsearchVersionRule; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.util.StringUtils; /** @@ -76,21 +74,18 @@ * @author Peter-Josef Meisch * @author Farid Azaza * @author Martin Choraine - * @currentRead Golden Fool - Robin Hobb */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:infrastructure.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { ElasticsearchRestTemplateConfiguration.class }) public class ReactiveElasticsearchTemplateTests { - public @Rule ElasticsearchVersionRule elasticsearchVersion = ElasticsearchVersionRule.any(); - static final String DEFAULT_INDEX = "reactive-template-test-index"; static final String ALTERNATE_INDEX = "reactive-template-tests-alternate-index"; private ElasticsearchRestTemplate restTemplate; private ReactiveElasticsearchTemplate template; - @Before + @BeforeEach public void setUp() { deleteIndices(); @@ -103,7 +98,7 @@ public void setUp() { template = new ReactiveElasticsearchTemplate(TestUtils.reactiveClient(), restTemplate.getElasticsearchConverter()); } - @After + @AfterEach public void tearDown() { deleteIndices(); } @@ -195,9 +190,10 @@ public void insertShouldAcceptPlainMapStructureAsSource() { }).verifyComplete(); } - @Test(expected = IllegalArgumentException.class) // DATAES-504 + @Test // DATAES-504 public void insertShouldErrorOnNullEntity() { - template.save(null); + assertThatThrownBy(() -> template.save(null)).isInstanceOf(IllegalArgumentException.class); + } @Test // DATAES-519 @@ -247,9 +243,9 @@ public void findByIdShouldCompleteWhenNotingFound() { .verifyComplete(); } - @Test(expected = IllegalArgumentException.class) // DATAES-504 + @Test // DATAES-504 public void findByIdShouldErrorForNullId() { - template.findById(null, SampleEntity.class); + assertThatThrownBy(() -> template.findById(null, SampleEntity.class)).isInstanceOf(IllegalArgumentException.class); } @Test // DATAES-504 diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateUnitTests.java index e33a02851..066b918e6 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateUnitTests.java @@ -40,14 +40,12 @@ import org.elasticsearch.action.support.WriteRequest.RefreshPolicy; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.reindex.DeleteByQueryRequest; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnit; -import org.mockito.junit.MockitoRule; - +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Version; import org.springframework.data.domain.PageRequest; @@ -63,18 +61,15 @@ /** * @author Christoph Strobl - * @currentRead Fool's Fate - Robin Hobb * @author Peter-Josef Meisch */ +@ExtendWith(MockitoExtension.class) public class ReactiveElasticsearchTemplateUnitTests { - @Rule // - public MockitoRule rule = MockitoJUnit.rule(); - @Mock ReactiveElasticsearchClient client; ReactiveElasticsearchTemplate template; - @Before + @BeforeEach public void setUp() { template = new ReactiveElasticsearchTemplate(client); diff --git a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/AggregatedPageImplTest.java b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/AggregatedPageImplTest.java index 7090949c0..ef9f435a9 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/AggregatedPageImplTest.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/AggregatedPageImplTest.java @@ -19,8 +19,7 @@ import java.util.Arrays; -import org.junit.Test; - +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.elasticsearch.core.aggregation.impl.AggregatedPageImpl; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java index 280a9c151..1c44aa6c0 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java @@ -30,11 +30,9 @@ import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchType; import org.elasticsearch.search.aggregations.Aggregations; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; @@ -46,9 +44,10 @@ import org.springframework.data.elasticsearch.core.query.IndexQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.SearchQuery; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Rizwan Idrees @@ -57,8 +56,8 @@ * @author Artur Konczak * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:elasticsearch-template-test.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { ElasticsearchTemplateConfiguration.class }) public class ElasticsearchTemplateAggregationTests { static final String RIZWAN_IDREES = "Rizwan Idrees"; @@ -72,7 +71,7 @@ public class ElasticsearchTemplateAggregationTests { @Autowired private ElasticsearchTemplate elasticsearchTemplate; - @Before + @BeforeEach public void before() { IndexInitializer.init(elasticsearchTemplate, ArticleEntity.class); @@ -97,7 +96,7 @@ public void before() { elasticsearchTemplate.refresh(ArticleEntity.class); } - @After + @AfterEach public void after() { elasticsearchTemplate.deleteIndex(ArticleEntity.class); diff --git a/src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionTests.java b/src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionTests.java index 854b74b3b..3a0f85696 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionTests.java @@ -26,17 +26,17 @@ import org.elasticsearch.search.suggest.SuggestBuilders; import org.elasticsearch.search.suggest.SuggestionBuilder; import org.elasticsearch.search.suggest.completion.CompletionSuggestion; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.CompletionField; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.query.IndexQuery; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Rizwan Idrees @@ -46,8 +46,8 @@ * @author Mewes Kochheim * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:elasticsearch-template-test.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { ElasticsearchTemplateConfiguration.class }) public class ElasticsearchTemplateCompletionTests { @Autowired private ElasticsearchTemplate elasticsearchTemplate; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionWithContextsTests.java b/src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionWithContextsTests.java index 122c58776..fbab48eb0 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionWithContextsTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionWithContextsTests.java @@ -33,8 +33,7 @@ import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; import org.elasticsearch.search.suggest.completion.context.CategoryQueryContext; import org.elasticsearch.search.suggest.completion.context.ContextMapping; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.CompletionContext; @@ -42,16 +41,17 @@ import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.query.IndexQuery; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Robert Gruendler * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:elasticsearch-template-test.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { ElasticsearchTemplateConfiguration.class }) public class ElasticsearchTemplateCompletionWithContextsTests { @Autowired private ElasticsearchTemplate elasticsearchTemplate; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/facet/ElasticsearchTemplateFacetTests.java b/src/test/java/org/springframework/data/elasticsearch/core/facet/ElasticsearchTemplateFacetTests.java index 1d528b461..2ed3acf06 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/facet/ElasticsearchTemplateFacetTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/facet/ElasticsearchTemplateFacetTests.java @@ -24,10 +24,8 @@ import java.util.ArrayList; import java.util.List; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; @@ -53,9 +51,10 @@ import org.springframework.data.elasticsearch.core.query.IndexQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.SearchQuery; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Rizwan Idrees @@ -64,8 +63,8 @@ * @author Artur Konczak * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:elasticsearch-template-test.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { ElasticsearchTemplateConfiguration.class }) public class ElasticsearchTemplateFacetTests { private static final String RIZWAN_IDREES = "Rizwan Idrees"; @@ -79,7 +78,7 @@ public class ElasticsearchTemplateFacetTests { @Autowired private ElasticsearchTemplate elasticsearchTemplate; - @Before + @BeforeEach public void before() { IndexInitializer.init(elasticsearchTemplate, ArticleEntity.class); @@ -342,56 +341,17 @@ public void shouldReturnExistingFacetedYearsForGivenQuery() { assertThat(facet.getMissing()).isEqualTo(0); } - @Test(expected = IllegalArgumentException.class) + @Test public void shouldThrowExeptionsForMultiFieldFacet() { // given String facetName = "fyears"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) - .withFacet( - new TermFacetRequestBuilder(facetName).fields("publishedYears", "authors.untouched").ascTerm().build()) - .build(); - - // when - FacetedPage result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class); - - // then - assertThat(result.getNumberOfElements()).isEqualTo(4); - - TermResult facet = (TermResult) result.getFacet(facetName); - assertThat(facet.getTerms()).hasSize(7); - - Term term = facet.getTerms().get(0); - assertThat(term.getTerm()).isEqualTo(Long.toString(YEAR_2000)); - assertThat(term.getCount()).isEqualTo(3); - - term = facet.getTerms().get(1); - assertThat(term.getTerm()).isEqualTo(Long.toString(YEAR_2001)); - assertThat(term.getCount()).isEqualTo(2); - - term = facet.getTerms().get(2); - assertThat(term.getTerm()).isEqualTo(Long.toString(YEAR_2002)); - assertThat(term.getCount()).isEqualTo(1); - - term = facet.getTerms().get(3); - assertThat(term.getTerm()).isEqualTo(ARTUR_KONCZAK); - assertThat(term.getCount()).isEqualTo(3); - - term = facet.getTerms().get(4); - assertThat(term.getTerm()).isEqualTo(JONATHAN_YAN); - assertThat(term.getCount()).isEqualTo(1); - - term = facet.getTerms().get(5); - assertThat(term.getTerm()).isEqualTo(MOHSIN_HUSEN); - assertThat(term.getCount()).isEqualTo(2); - - term = facet.getTerms().get(6); - assertThat(term.getTerm()).isEqualTo(RIZWAN_IDREES); - assertThat(term.getCount()).isEqualTo(4); - - assertThat(facet.getTotal()).isEqualTo(16); - assertThat(facet.getOther()).isEqualTo(0); - assertThat(facet.getMissing()).isEqualTo(1); + assertThatThrownBy(() -> { + SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + .withFacet( + new TermFacetRequestBuilder(facetName).fields("publishedYears", "authors.untouched").ascTerm().build()) + .build(); + }).isInstanceOf(IllegalArgumentException.class); } @Test @@ -447,38 +407,15 @@ public void shouldReturnFacetedYearsAndFacetedAuthorsForGivenQuery() { assertThat(stringFacet.getMissing()).isEqualTo(0); } - @Test(expected = UnsupportedOperationException.class) + @Test public void shouldThrowExceptionForNativeFacets() { // given String facetName = "fyears"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) - .withFacet(new NativeFacetRequest()).build(); - - // when - FacetedPage result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class); - - // then - assertThat(result.getNumberOfElements()).isEqualTo(4); - - TermResult facet = (TermResult) result.getFacet(facetName); - assertThat(facet.getTerms()).hasSize(3); - - Term term = facet.getTerms().get(0); - assertThat(term.getTerm()).isEqualTo(Long.toString(YEAR_2000)); - assertThat(term.getCount()).isEqualTo(3); - - term = facet.getTerms().get(1); - assertThat(term.getTerm()).isEqualTo(Long.toString(YEAR_2001)); - assertThat(term.getCount()).isEqualTo(2); - - term = facet.getTerms().get(2); - assertThat(term.getTerm()).isEqualTo(Long.toString(YEAR_2002)); - assertThat(term.getCount()).isEqualTo(1); - - assertThat(facet.getTotal()).isEqualTo(6); - assertThat(facet.getOther()).isEqualTo(0); - assertThat(facet.getMissing()).isEqualTo(1); + assertThatThrownBy(() -> { + SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + .withFacet(new NativeFacetRequest()).build(); + }).isInstanceOf(UnsupportedOperationException.class); } @Test diff --git a/src/test/java/org/springframework/data/elasticsearch/core/query/CriteriaQueryTests.java b/src/test/java/org/springframework/data/elasticsearch/core/query/CriteriaQueryTests.java index e060fa617..5edc74acb 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/query/CriteriaQueryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/query/CriteriaQueryTests.java @@ -30,9 +30,8 @@ import java.util.ArrayList; import java.util.List; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Version; @@ -41,8 +40,9 @@ import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.Score; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Rizwan Idrees @@ -50,13 +50,13 @@ * @author Peter-Josef Meisch * @author James Bodkin */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:elasticsearch-template-test.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { ElasticsearchTemplateConfiguration.class }) public class CriteriaQueryTests { @Autowired private ElasticsearchTemplate elasticsearchTemplate; - @Before + @BeforeEach public void before() { elasticsearchTemplate.deleteIndex(SampleEntity.class); diff --git a/src/test/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQueryUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQueryUnitTests.java index aa8fca351..99e20da5b 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQueryUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQueryUnitTests.java @@ -30,11 +30,11 @@ import java.util.List; import java.util.Map; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; @@ -55,13 +55,13 @@ * @author Christoph Strobl * @author Peter-Josef Meisch */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ElasticsearchStringQueryUnitTests { @Mock ElasticsearchOperations operations; - ElasticsearchConverter converter; + ElasticsearchConverter converter; - @Before + @BeforeEach public void setUp() { converter = new MappingElasticsearchConverter(new SimpleElasticsearchMappingContext()); } diff --git a/src/test/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryMethodUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryMethodUnitTests.java index 9000e0d79..f514f26dc 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryMethodUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryMethodUnitTests.java @@ -31,8 +31,8 @@ import java.util.List; import java.util.Map; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.annotation.Id; import org.springframework.data.domain.Page; @@ -58,7 +58,7 @@ public class ReactiveElasticsearchQueryMethodUnitTests { public static final String INDEX_NAME = "test-index-person-reactive-repository-query"; SimpleElasticsearchMappingContext mappingContext; - @Before + @BeforeEach public void setUp() { mappingContext = new SimpleElasticsearchMappingContext(); } @@ -74,28 +74,32 @@ public void detectsCollectionFromRepoTypeIfReturnTypeNotAssignable() throws Exce assertThat(metadata.getIndexTypeName()).isEqualTo("user"); } - @Test(expected = IllegalArgumentException.class) // DATAES-519 + @Test // DATAES-519 public void rejectsNullMappingContext() throws Exception { Method method = PersonRepository.class.getMethod("findByName", String.class); - new ReactiveElasticsearchQueryMethod(method, new DefaultRepositoryMetadata(PersonRepository.class), - new SpelAwareProxyProjectionFactory(), null); + assertThatThrownBy(() -> new ReactiveElasticsearchQueryMethod(method, + new DefaultRepositoryMetadata(PersonRepository.class), new SpelAwareProxyProjectionFactory(), null)) + .isInstanceOf(IllegalArgumentException.class); } - @Test(expected = IllegalStateException.class) // DATAES-519 + @Test // DATAES-519 public void rejectsMonoPageableResult() throws Exception { - queryMethod(PersonRepository.class, "findMonoByName", String.class, Pageable.class); + assertThatThrownBy(() -> queryMethod(PersonRepository.class, "findMonoByName", String.class, Pageable.class)) + .isInstanceOf(IllegalStateException.class); } - @Test(expected = InvalidDataAccessApiUsageException.class) // DATAES-519 + @Test // DATAES-519 public void throwsExceptionOnWrappedPage() throws Exception { - queryMethod(PersonRepository.class, "findMonoPageByName", String.class, Pageable.class); + assertThatThrownBy(() -> queryMethod(PersonRepository.class, "findMonoPageByName", String.class, Pageable.class)) + .isInstanceOf(InvalidDataAccessApiUsageException.class); } - @Test(expected = InvalidDataAccessApiUsageException.class) // DATAES-519 + @Test // DATAES-519 public void throwsExceptionOnWrappedSlice() throws Exception { - queryMethod(PersonRepository.class, "findMonoSliceByName", String.class, Pageable.class); + assertThatThrownBy(() -> queryMethod(PersonRepository.class, "findMonoSliceByName", String.class, Pageable.class)) + .isInstanceOf(InvalidDataAccessApiUsageException.class); } @Test // DATAES-519 diff --git a/src/test/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchStringQueryUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchStringQueryUnitTests.java index deea9e119..c86ec0b4d 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchStringQueryUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchStringQueryUnitTests.java @@ -22,7 +22,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -33,12 +32,12 @@ import java.util.List; import java.util.Map; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; @@ -47,6 +46,7 @@ import org.springframework.data.elasticsearch.annotations.MultiField; import org.springframework.data.elasticsearch.annotations.Query; import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations; +import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter; import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext; import org.springframework.data.elasticsearch.core.query.StringQuery; @@ -60,7 +60,7 @@ * @author Christoph Strobl * @author Peter-Josef Meisch */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ReactiveElasticsearchStringQueryUnitTests { SpelExpressionParser PARSER = new SpelExpressionParser(); @@ -68,7 +68,7 @@ public class ReactiveElasticsearchStringQueryUnitTests { @Mock ReactiveElasticsearchOperations operations; - @Before + @BeforeEach public void setUp() { converter = new MappingElasticsearchConverter(new SimpleElasticsearchMappingContext()); } @@ -87,7 +87,7 @@ public void bindsSimplePropertyCorrectly() throws Exception { } @Test // DATAES-519 - @Ignore("TODO: fix spel query integration") + @Disabled("TODO: fix spel query integration") public void bindsExpressionPropertyCorrectly() throws Exception { ReactiveElasticsearchStringQuery elasticsearchStringQuery = createQueryForMethod("findByNameWithExpression", diff --git a/src/test/java/org/springframework/data/elasticsearch/repository/support/ElasticsearchEntityInformationCreatorImplTests.java b/src/test/java/org/springframework/data/elasticsearch/repository/support/ElasticsearchEntityInformationCreatorImplTests.java index 3008581cd..689d63d4e 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repository/support/ElasticsearchEntityInformationCreatorImplTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repository/support/ElasticsearchEntityInformationCreatorImplTests.java @@ -15,39 +15,50 @@ */ package org.springframework.data.elasticsearch.repository.support; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; -import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity; -import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentProperty; -import org.springframework.data.mapping.context.MappingContext; +import static org.assertj.core.api.Assertions.*; + +import java.util.HashSet; +import java.util.Set; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.data.elasticsearch.annotations.Document; +import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext; +import org.springframework.data.mapping.MappingException; /** * @author Florian Hopf * @author Mark Paluch */ -@RunWith(MockitoJUnitRunner.class) public class ElasticsearchEntityInformationCreatorImplTests { - @Mock MappingContext, ElasticsearchPersistentProperty> mappingContext; - @Mock ElasticsearchPersistentEntity persistentEntity; - ElasticsearchEntityInformationCreatorImpl entityInfoCreator; - @Before + @BeforeEach public void before() { - entityInfoCreator = new ElasticsearchEntityInformationCreatorImpl(mappingContext); + SimpleElasticsearchMappingContext context = new SimpleElasticsearchMappingContext(); + Set> entites = new HashSet<>(); + entites.add(EntityNoId.class); + context.setInitialEntitySet(entites); + entityInfoCreator = new ElasticsearchEntityInformationCreatorImpl(context); } - @Test(expected = IllegalArgumentException.class) - public void shouldThrowIllegalArgumentExceptionOnMissingEntity() { - entityInfoCreator.getEntityInformation(String.class); + @Test + public void shouldThrowMappingExceptionOnMissingEntity() { + assertThatThrownBy(() -> { + entityInfoCreator.getEntityInformation(String.class); + }).isInstanceOf(MappingException.class); } - @Test(expected = IllegalArgumentException.class) + @Test public void shouldThrowIllegalArgumentExceptionOnMissingIdAnnotation() { - entityInfoCreator.getEntityInformation(String.class); + assertThatThrownBy(() -> { + entityInfoCreator.getEntityInformation(EntityNoId.class); + }).isInstanceOf(IllegalArgumentException.class).hasMessageContaining("No id property found"); + } + + @Document(indexName = "whatever") + static class EntityNoId { + } } diff --git a/src/test/java/org/springframework/data/elasticsearch/repository/support/ElasticsearchRepositoryFactoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repository/support/ElasticsearchRepositoryFactoryTests.java deleted file mode 100644 index 97a4c084f..000000000 --- a/src/test/java/org/springframework/data/elasticsearch/repository/support/ElasticsearchRepositoryFactoryTests.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2013-2019 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. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data.elasticsearch.repository.support; - -import static org.mockito.Mockito.*; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; -import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; -import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter; -import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext; -import org.springframework.data.querydsl.QuerydslPredicateExecutor; -import org.springframework.data.repository.core.RepositoryMetadata; -import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; - -/** - * @author Rizwan Idrees - * @author Mohsin Husen - * @author Mark Paluch - * @author Peter-Josef Meisch - */ -@RunWith(MockitoJUnitRunner.class) -public class ElasticsearchRepositoryFactoryTests { - - @Mock private ElasticsearchOperations operations; - private ElasticsearchRepositoryFactory factory; - - @Before - public void before() { - ElasticsearchConverter converter = new MappingElasticsearchConverter(new SimpleElasticsearchMappingContext()); - when(operations.getElasticsearchConverter()).thenReturn(converter); - factory = new ElasticsearchRepositoryFactory(operations); - } - - @Test(expected = IllegalArgumentException.class) - public void shouldThrowExceptionGivenQueryDslRepository() { - - // given - RepositoryMetadata metadata = new DefaultRepositoryMetadata(QuerydslPredicateExecutor.class); - // when - factory.getRepositoryBaseClass(metadata); - } -} diff --git a/src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleReactiveElasticsearchRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleReactiveElasticsearchRepositoryTests.java index 6e447725b..6cb28095e 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleReactiveElasticsearchRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleReactiveElasticsearchRepositoryTests.java @@ -39,20 +39,18 @@ import org.elasticsearch.action.support.WriteRequest.RefreshPolicy; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; -import org.junit.Before; -import org.junit.ClassRule; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.reactivestreams.Publisher; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Version; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Order; -import org.springframework.data.elasticsearch.junit.junit4.TestNodeResource; import org.springframework.data.elasticsearch.TestUtils; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; @@ -60,23 +58,23 @@ import org.springframework.data.elasticsearch.annotations.Score; import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; import org.springframework.data.elasticsearch.config.AbstractReactiveElasticsearchConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.config.EnableReactiveElasticsearchRepositories; import org.springframework.data.repository.reactive.ReactiveCrudRepository; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.util.StringUtils; /** * @author Christoph Strobl * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration +@SpringIntegrationTest +@ContextConfiguration(classes = { SimpleReactiveElasticsearchRepositoryTests.Config.class }) public class SimpleReactiveElasticsearchRepositoryTests { - @ClassRule public static TestNodeResource testNodeResource = new TestNodeResource(); - @Configuration + @Import({ ElasticsearchRestTemplateConfiguration.class }) @EnableReactiveElasticsearchRepositories(considerNestedRepositories = true) static class Config extends AbstractReactiveElasticsearchConfiguration { @@ -91,7 +89,7 @@ public ReactiveElasticsearchClient reactiveElasticsearchClient() { @Autowired ReactiveSampleEntityRepository repository; - @Before + @BeforeEach public void setUp() { TestUtils.deleteIndex(INDEX); }