Add documentation and tests
This commit is contained in:
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertTrue;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration("classpath:elasticsearch-template-test.xml")
|
||||
@Ignore
|
||||
public class CriteriaQueryTest {
|
||||
|
||||
@Resource
|
||||
@@ -476,13 +475,13 @@ public class CriteriaQueryTest {
|
||||
elasticsearchTemplate.refresh(SampleEntity.class,true);
|
||||
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("rate").between(350,null));
|
||||
//when
|
||||
SampleEntity sampleEntity = elasticsearchTemplate.queryForObject(criteriaQuery, SampleEntity.class);
|
||||
Page<SampleEntity> page = elasticsearchTemplate.queryForPage(criteriaQuery, SampleEntity.class);
|
||||
//then
|
||||
assertThat(sampleEntity,is(notNullValue()));
|
||||
assertThat(page,is(notNullValue()));
|
||||
assertThat(page.getTotalElements(),is(greaterThanOrEqualTo(1L)));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testBetweenWithoutLowerBound() {
|
||||
//given
|
||||
List<IndexQuery> indexQueries = new ArrayList<IndexQuery>();
|
||||
@@ -513,13 +512,13 @@ public class CriteriaQueryTest {
|
||||
elasticsearchTemplate.refresh(SampleEntity.class,true);
|
||||
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("rate").between(null,550));
|
||||
//when
|
||||
SampleEntity sampleEntity = elasticsearchTemplate.queryForObject(criteriaQuery, SampleEntity.class);
|
||||
Page<SampleEntity> page = elasticsearchTemplate.queryForPage(criteriaQuery, SampleEntity.class);
|
||||
//then
|
||||
assertThat(sampleEntity,is(notNullValue()));
|
||||
assertThat(page,is(notNullValue()));
|
||||
assertThat(page.getTotalElements(),is(greaterThanOrEqualTo(1L)));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testLessThanEqauls() {
|
||||
//given
|
||||
List<IndexQuery> indexQueries = new ArrayList<IndexQuery>();
|
||||
@@ -550,13 +549,13 @@ public class CriteriaQueryTest {
|
||||
elasticsearchTemplate.refresh(SampleEntity.class,true);
|
||||
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("rate").lessThanEqual(750));
|
||||
//when
|
||||
SampleEntity sampleEntity = elasticsearchTemplate.queryForObject(criteriaQuery, SampleEntity.class);
|
||||
Page<SampleEntity> page = elasticsearchTemplate.queryForPage(criteriaQuery, SampleEntity.class);
|
||||
//then
|
||||
assertThat(sampleEntity,is(notNullValue()));
|
||||
assertThat(page,is(notNullValue()));
|
||||
assertThat(page.getTotalElements(),is(greaterThanOrEqualTo(1L)));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testGreaterThanEqauls() {
|
||||
//given
|
||||
List<IndexQuery> indexQueries = new ArrayList<IndexQuery>();
|
||||
@@ -587,9 +586,10 @@ public class CriteriaQueryTest {
|
||||
elasticsearchTemplate.refresh(SampleEntity.class,true);
|
||||
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("rate").greaterThanEqual(950));
|
||||
//when
|
||||
SampleEntity sampleEntity = elasticsearchTemplate.queryForObject(criteriaQuery, SampleEntity.class);
|
||||
Page<SampleEntity> page = elasticsearchTemplate.queryForPage(criteriaQuery, SampleEntity.class);
|
||||
//then
|
||||
assertThat(sampleEntity,is(notNullValue()));
|
||||
assertThat(page,is(notNullValue()));
|
||||
assertThat(page.getTotalElements(),is(greaterThanOrEqualTo(1L)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
package org.springframework.data.elasticsearch.repositories;
|
||||
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.elasticsearch.SampleEntity;
|
||||
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
||||
import org.springframework.data.elasticsearch.core.query.DeleteQuery;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static org.apache.commons.lang.RandomStringUtils.randomNumeric;
|
||||
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.hamcrest.Matchers.notNullValue;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@@ -24,6 +27,18 @@ public class CustomMethodRepositoryTest {
|
||||
@Resource
|
||||
private SampleCustomMethodRepository repository;
|
||||
|
||||
@Autowired
|
||||
private ElasticsearchTemplate elasticsearchTemplate;
|
||||
|
||||
@Before
|
||||
public void before(){
|
||||
elasticsearchTemplate.createIndex(SampleEntity.class);
|
||||
DeleteQuery deleteQuery = new DeleteQuery();
|
||||
deleteQuery.setElasticsearchQuery(matchAllQuery());
|
||||
elasticsearchTemplate.delete(deleteQuery,SampleEntity.class);
|
||||
elasticsearchTemplate.refresh(SampleEntity.class, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecuteCustomMethod(){
|
||||
//given
|
||||
@@ -40,6 +55,22 @@ public class CustomMethodRepositoryTest {
|
||||
assertThat(page.getTotalElements(), is(greaterThanOrEqualTo(1L)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecuteCustomMethodForNext(){
|
||||
//given
|
||||
String documentId = randomNumeric(5);
|
||||
SampleEntity sampleEntity = new SampleEntity();
|
||||
sampleEntity.setId(documentId);
|
||||
sampleEntity.setType("some");
|
||||
sampleEntity.setMessage("some message");
|
||||
repository.save(sampleEntity);
|
||||
//when
|
||||
Page<SampleEntity> page = repository.findByTypeNot("test", new PageRequest(1, 10));
|
||||
//then
|
||||
assertThat(page, is(notNullValue()));
|
||||
assertThat(page.getTotalElements(), is(greaterThanOrEqualTo(1L)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecuteCustomMethodWithQuery(){
|
||||
//given
|
||||
@@ -56,4 +87,31 @@ public class CustomMethodRepositoryTest {
|
||||
assertThat(page.getTotalElements(), is(greaterThanOrEqualTo(1L)));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void shouldExecuteCustomMethodWithLessThan(){
|
||||
//given
|
||||
String documentId = randomNumeric(5);
|
||||
SampleEntity sampleEntity = new SampleEntity();
|
||||
sampleEntity.setId(documentId);
|
||||
sampleEntity.setType("test");
|
||||
sampleEntity.setRate(10);
|
||||
sampleEntity.setMessage("some message");
|
||||
repository.save(sampleEntity);
|
||||
|
||||
String documentId2 = randomNumeric(5);
|
||||
SampleEntity sampleEntity2 = new SampleEntity();
|
||||
sampleEntity2.setId(documentId2);
|
||||
sampleEntity2.setType("test");
|
||||
sampleEntity2.setRate(20);
|
||||
sampleEntity2.setMessage("some message");
|
||||
repository.save(sampleEntity2);
|
||||
|
||||
//when
|
||||
Page<SampleEntity> page = repository.findByRateLessThan(10, new PageRequest(1, 10));
|
||||
//then
|
||||
assertThat(page, is(notNullValue()));
|
||||
assertThat(page.getTotalElements(), is(equalTo(1L)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -11,7 +11,13 @@ public interface SampleCustomMethodRepository extends ElasticsearchRepository<Sa
|
||||
|
||||
Page<SampleEntity> findByType(String type, Pageable pageable);
|
||||
|
||||
Page<SampleEntity> findByTypeNot(String type, Pageable pageable);
|
||||
|
||||
@Query("{\"bool\" : {\"must\" : {\"field\" : {\"message\" : \"?0\"}}}}")
|
||||
Page<SampleEntity> findByMessage(String message, Pageable pageable);
|
||||
|
||||
Page<SampleEntity> findByRateLessThan(int rate, Pageable pageable);
|
||||
|
||||
Page<SampleEntity> findByRateBefore(int rate, Pageable pageable);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user