diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryBaseTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryBaseTests.java index 3f7381df6..a7cc7876e 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryBaseTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryBaseTests.java @@ -30,6 +30,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Order; +import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.geo.GeoPoint; import org.springframework.data.elasticsearch.entities.SampleEntity; import org.springframework.data.elasticsearch.repositories.custom.SampleCustomMethodRepository; @@ -46,7 +47,6 @@ import org.springframework.data.geo.Point; * @author Christoph Strobl * @author Don Wellington */ - public abstract class CustomMethodRepositoryBaseTests { @Autowired private SampleCustomMethodRepository repository; diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryRestTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryRestTests.java index 6d012468e..c969ba8fb 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryRestTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryRestTests.java @@ -12,10 +12,13 @@ * 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.repositories; + */ +package org.springframework.data.elasticsearch.repositories; +import org.elasticsearch.client.RestHighLevelClient; import org.junit.Before; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.entities.SampleEntity; @@ -23,13 +26,13 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** - * * @author Don Wellington - * + * @author Mark Paluch */ @RunWith(SpringRunner.class) @ContextConfiguration("classpath:custom-method-repository-rest-test.xml") public class CustomMethodRepositoryRestTests extends CustomMethodRepositoryBaseTests { + @Autowired private ElasticsearchRestTemplate elasticsearchTemplate; @Before @@ -39,4 +42,18 @@ public class CustomMethodRepositoryRestTests extends CustomMethodRepositoryBaseT elasticsearchTemplate.putMapping(SampleEntity.class); elasticsearchTemplate.refresh(SampleEntity.class); } + + /** + * Workaround because {@link SampleEntity} is used like everywhere and there's little chance to find the place where + * the mapping is altered so that it becomes incompatible with the one created on repository startup. + *

+ * TODO: Remove me once the cause is fixed! See: https://jira.spring.io/browse/DATAES-576 + */ + public static class CleanupOnStartElasticsearchTemplate extends ElasticsearchRestTemplate { + + public CleanupOnStartElasticsearchTemplate(RestHighLevelClient client) { + super(client); + deleteIndex(SampleEntity.class); + } + } } diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryTests.java index fd1d5a0a1..17d10a8dc 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/CustomMethodRepositoryTests.java @@ -15,8 +15,10 @@ */ package org.springframework.data.elasticsearch.repositories; +import org.elasticsearch.client.Client; import org.junit.Before; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.entities.SampleEntity; @@ -24,13 +26,13 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** - * * @author Don Wellington - * + * @author Mark Paluch */ @RunWith(SpringRunner.class) @ContextConfiguration("classpath:custom-method-repository-test.xml") public class CustomMethodRepositoryTests extends CustomMethodRepositoryBaseTests { + @Autowired private ElasticsearchTemplate elasticsearchTemplate; @Before @@ -40,4 +42,18 @@ public class CustomMethodRepositoryTests extends CustomMethodRepositoryBaseTests elasticsearchTemplate.putMapping(SampleEntity.class); elasticsearchTemplate.refresh(SampleEntity.class); } + + /** + * Workaround because {@link SampleEntity} is used like everywhere and there's little chance to find the place where + * the mapping is altered so that it becomes incompatible with the one created on repository startup. + *

+ * TODO: Remove me once the cause is fixed! See: https://jira.spring.io/browse/DATAES-576 + */ + static class CleanupOnStartElasticsearchTemplate extends ElasticsearchTemplate { + + public CleanupOnStartElasticsearchTemplate(Client client) { + super(client); + deleteIndex(SampleEntity.class); + } + } } diff --git a/src/test/resources/custom-method-repository-rest-test.xml b/src/test/resources/custom-method-repository-rest-test.xml index 12c6aa72e..d9b283201 100644 --- a/src/test/resources/custom-method-repository-rest-test.xml +++ b/src/test/resources/custom-method-repository-rest-test.xml @@ -5,7 +5,14 @@ xsi:schemaLocation="http://www.springframework.org/schema/data/elasticsearch https://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch.xsd http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> - + + + + + + + diff --git a/src/test/resources/custom-method-repository-test.xml b/src/test/resources/custom-method-repository-test.xml index abf45baad..59c49ace0 100644 --- a/src/test/resources/custom-method-repository-test.xml +++ b/src/test/resources/custom-method-repository-test.xml @@ -8,11 +8,10 @@ + class="org.springframework.data.elasticsearch.repositories.CustomMethodRepositoryTests$CleanupOnStartElasticsearchTemplate"> -