@@ -127,27 +127,64 @@ public void insertDocumentsReturnNew() {
127
127
128
128
@ Test
129
129
public void repsertDocument () {
130
- String id = "id-" + UUID .randomUUID ();
131
130
Customer customer = new Customer ("John" , "Doe" , 30 );
132
- customer .setId (id );
133
- template .repsert (customer );
134
- template .repsert (customer );
135
- Customer read = template .find (id , Customer .class ).orElseThrow ();
131
+ Customer repsert1 = template .repsert (customer );
132
+ Customer repsert2 = template .repsert (customer );
133
+
134
+ // in place updates
135
+ assertThat (repsert1 , sameInstance (customer ));
136
+ assertThat (repsert2 , sameInstance (customer ));
137
+
138
+ Customer read = template .find (repsert1 .getId (), Customer .class ).orElseThrow ();
136
139
assertThat (read .getId (), is (customer .getId ()));
137
140
assertThat (read .getName (), is (customer .getName ()));
138
141
assertThat (read .getSurname (), is (customer .getSurname ()));
139
142
assertThat (read .getAge (), is (customer .getAge ()));
140
143
}
141
144
142
- @ Test
143
- public void repsertDocumentRevConflict () {
144
- String id = "id-" + UUID .randomUUID ();
145
- Customer customer = new Customer ("John" , "Doe" , 30 );
146
- customer .setId (id );
147
- template .repsert (customer );
148
- customer .setRev ("foo" );
149
- assertThrows (OptimisticLockingFailureException .class , () -> template .repsert (customer ));
150
- }
145
+ @ Test
146
+ public void repsertDocuments () {
147
+ Customer c1 = new Customer ("John" , "Doe" , 11 );
148
+ Customer c2 = new Customer ("John2" , "Doe2" , 22 );
149
+ Iterable <Customer > repsert1 = template .repsertAll (List .of (c1 , c2 ), Customer .class );
150
+ Iterable <Customer > repsert2 = template .repsertAll (List .of (c1 , c2 ), Customer .class );
151
+
152
+ Iterator <Customer > rit1 = repsert1 .iterator ();
153
+ Iterator <Customer > rit2 = repsert2 .iterator ();
154
+
155
+ // in place updates
156
+ assertThat (rit1 .next (), sameInstance (c1 ));
157
+ assertThat (rit2 .next (), sameInstance (c1 ));
158
+ assertThat (rit1 .next (), sameInstance (c2 ));
159
+ assertThat (rit2 .next (), sameInstance (c2 ));
160
+
161
+ List <String > ids = StreamSupport .stream (repsert1 .spliterator (), false ).map (Customer ::getId ).toList ();
162
+
163
+ Iterable <Customer > read = template .findAll (ids , Customer .class );
164
+ Iterator <Customer > rit = read .iterator ();
165
+
166
+ Customer read1 = rit .next ();
167
+ assertThat (read1 .getId (), is (c1 .getId ()));
168
+ assertThat (read1 .getName (), is (c1 .getName ()));
169
+ assertThat (read1 .getSurname (), is (c1 .getSurname ()));
170
+ assertThat (read1 .getAge (), is (c1 .getAge ()));
171
+
172
+ Customer read2 = rit .next ();
173
+ assertThat (read2 .getId (), is (c2 .getId ()));
174
+ assertThat (read2 .getName (), is (c2 .getName ()));
175
+ assertThat (read2 .getSurname (), is (c2 .getSurname ()));
176
+ assertThat (read2 .getAge (), is (c2 .getAge ()));
177
+ }
178
+
179
+ @ Test
180
+ public void repsertDocumentRevConflict () {
181
+ String id = "id-" + UUID .randomUUID ();
182
+ Customer customer = new Customer ("John" , "Doe" , 30 );
183
+ customer .setId (id );
184
+ template .repsert (customer );
185
+ customer .setRev ("foo" );
186
+ assertThrows (OptimisticLockingFailureException .class , () -> template .repsert (customer ));
187
+ }
151
188
152
189
@ Test
153
190
public void getDocument () {
0 commit comments