committed by
GitHub
parent
131f0318cc
commit
c82792b34d
@@ -37,6 +37,7 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -3448,6 +3449,68 @@ public abstract class ElasticsearchTemplateTests {
|
||||
return ((AbstractElasticsearchTemplate) operations).getRequestFactory();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillVersionOnSaveOne() {
|
||||
VersionedEntity saved = operations.save(new VersionedEntity());
|
||||
|
||||
assertThat(saved.getVersion()).isNotNull();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillVersionOnSaveIterable() {
|
||||
List<VersionedEntity> iterable = Arrays.asList(new VersionedEntity(), new VersionedEntity());
|
||||
Iterator<VersionedEntity> results = operations.save(iterable).iterator();
|
||||
VersionedEntity saved1 = results.next();
|
||||
VersionedEntity saved2 = results.next();
|
||||
|
||||
assertThat(saved1.getVersion()).isNotNull();
|
||||
assertThat(saved2.getVersion()).isNotNull();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillVersionOnSaveArray() {
|
||||
VersionedEntity[] array = {new VersionedEntity(), new VersionedEntity()};
|
||||
Iterator<VersionedEntity> results = operations.save(array).iterator();
|
||||
VersionedEntity saved1 = results.next();
|
||||
VersionedEntity saved2= results.next();
|
||||
|
||||
assertThat(saved1.getVersion()).isNotNull();
|
||||
assertThat(saved2.getVersion()).isNotNull();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillVersionOnIndexOne() {
|
||||
VersionedEntity entity = new VersionedEntity();
|
||||
IndexQuery query = new IndexQueryBuilder().withObject(entity).build();
|
||||
operations.index(query, operations.getIndexCoordinatesFor(VersionedEntity.class));
|
||||
|
||||
assertThat(entity.getVersion()).isNotNull();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillVersionOnBulkIndex() {
|
||||
VersionedEntity entity1 = new VersionedEntity();
|
||||
VersionedEntity entity2= new VersionedEntity();
|
||||
IndexQuery query1 = new IndexQueryBuilder().withObject(entity1).build();
|
||||
IndexQuery query2 = new IndexQueryBuilder().withObject(entity2).build();
|
||||
operations.bulkIndex(Arrays.asList(query1, query2), VersionedEntity.class);
|
||||
|
||||
assertThat(entity1.getVersion()).isNotNull();
|
||||
assertThat(entity2.getVersion()).isNotNull();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillSeqNoPrimaryKeyOnBulkIndex() {
|
||||
OptimisticEntity entity1 = new OptimisticEntity();
|
||||
OptimisticEntity entity2 = new OptimisticEntity();
|
||||
IndexQuery query1 = new IndexQueryBuilder().withObject(entity1).build();
|
||||
IndexQuery query2 = new IndexQueryBuilder().withObject(entity2).build();
|
||||
operations.bulkIndex(Arrays.asList(query1, query2), OptimisticEntity.class);
|
||||
|
||||
assertThatSeqNoPrimaryTermIsFilled(entity1);
|
||||
assertThatSeqNoPrimaryTermIsFilled(entity2);
|
||||
}
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@@ -3625,6 +3688,13 @@ public abstract class ElasticsearchTemplateTests {
|
||||
@Version private Long version;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Document(indexName = "test-index-versioned-entity-template")
|
||||
static class VersionedEntity {
|
||||
@Id private String id;
|
||||
@Version private Long version;
|
||||
}
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
|
||||
@@ -390,7 +390,9 @@ public class ReactiveElasticsearchTemplateTests {
|
||||
template.search(query, SampleEntity.class) //
|
||||
.map(SearchHit::getContent) //
|
||||
.as(StepVerifier::create) //
|
||||
.expectNext(shouldMatch) //
|
||||
.assertNext(next -> {
|
||||
assertThat(next.getMessage()).isEqualTo("test message");
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@@ -963,6 +965,36 @@ public class ReactiveElasticsearchTemplateTests {
|
||||
template.save(forEdit).as(StepVerifier::create).expectNextCount(1).verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillVersionOnSaveOne() {
|
||||
VersionedEntity saved = template.save(new VersionedEntity()).block();
|
||||
|
||||
assertThat(saved.getVersion()).isNotNull();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillVersionOnSaveAll() {
|
||||
VersionedEntity saved = template.saveAll(singletonList(new VersionedEntity()), VersionedEntity.class)
|
||||
.blockLast();
|
||||
|
||||
assertThat(saved.getVersion()).isNotNull();
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillSeqNoPrimaryTermOnSaveOne() {
|
||||
OptimisticEntity saved = template.save(new OptimisticEntity()).block();
|
||||
|
||||
assertThatSeqNoPrimaryTermIsFilled(saved);
|
||||
}
|
||||
|
||||
@Test // DATAES-908
|
||||
void shouldFillSeqNoPrimaryTermOnSaveAll() {
|
||||
OptimisticEntity saved = template.saveAll(singletonList(new OptimisticEntity()), OptimisticEntity.class)
|
||||
.blockLast();
|
||||
|
||||
assertThatSeqNoPrimaryTermIsFilled(saved);
|
||||
}
|
||||
|
||||
@Data
|
||||
@Document(indexName = "marvel")
|
||||
static class Person {
|
||||
@@ -1051,4 +1083,11 @@ public class ReactiveElasticsearchTemplateTests {
|
||||
private SeqNoPrimaryTerm seqNoPrimaryTerm;
|
||||
@Version private Long version;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Document(indexName = "test-index-reactive-versioned-entity-template")
|
||||
static class VersionedEntity {
|
||||
@Id private String id;
|
||||
@Version private Long version;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user