17
17
18
18
import static org .assertj .core .api .Assertions .*;
19
19
20
- import io .reactivex .Flowable ;
21
- import io .reactivex .Maybe ;
22
- import io .reactivex .observers . TestObserver ;
20
+ import io .reactivex .rxjava3 . observers . TestObserver ;
21
+ import io .reactivex .rxjava3 . core . Observable ;
22
+ import io .reactivex .rxjava3 . core . Single ;
23
23
import io .reactivex .rxjava3 .subscribers .TestSubscriber ;
24
24
import lombok .Data ;
25
25
import lombok .NoArgsConstructor ;
26
+ import org .springframework .data .repository .reactive .RxJava3SortingRepository ;
26
27
import reactor .core .publisher .Flux ;
27
28
import reactor .core .publisher .Mono ;
28
29
import reactor .test .StepVerifier ;
29
- import rx .Observable ;
30
- import rx .Single ;
31
30
32
31
import java .util .Arrays ;
33
32
import java .util .List ;
46
45
import org .springframework .data .mongodb .core .mapping .Document ;
47
46
import org .springframework .data .mongodb .repository .config .EnableReactiveMongoRepositories ;
48
47
import org .springframework .data .repository .reactive .ReactiveSortingRepository ;
49
- import org .springframework .data .repository .reactive .RxJava2SortingRepository ;
50
48
import org .springframework .test .context .ContextConfiguration ;
51
49
import org .springframework .test .context .junit4 .SpringRunner ;
52
50
@@ -61,8 +59,6 @@ public class ConvertingReactiveMongoRepositoryTests {
61
59
62
60
@ EnableReactiveMongoRepositories (
63
61
includeFilters = { @ Filter (value = ReactivePersonRepostitory .class , type = FilterType .ASSIGNABLE_TYPE ),
64
- @ Filter (value = RxJava1PersonRepostitory .class , type = FilterType .ASSIGNABLE_TYPE ),
65
- @ Filter (value = RxJava2PersonRepostitory .class , type = FilterType .ASSIGNABLE_TYPE ),
66
62
@ Filter (value = RxJava3PersonRepostitory .class , type = FilterType .ASSIGNABLE_TYPE ),
67
63
@ Filter (value = MixedReactivePersonRepostitory .class , type = FilterType .ASSIGNABLE_TYPE ) },
68
64
considerNestedRepositories = true )
@@ -71,8 +67,6 @@ static class Config {}
71
67
72
68
@ Autowired MixedReactivePersonRepostitory reactiveRepository ;
73
69
@ Autowired ReactivePersonRepostitory reactivePersonRepostitory ;
74
- @ Autowired RxJava1PersonRepostitory rxJava1PersonRepostitory ;
75
- @ Autowired RxJava2PersonRepostitory rxJava2PersonRepostitory ;
76
70
@ Autowired RxJava3PersonRepostitory rxJava3PersonRepostitory ;
77
71
78
72
ReactivePerson dave , oliver , carter , boyd , stefan , leroi , alicia ;
@@ -106,162 +100,24 @@ public void reactiveStreamsQueryMethodsShouldWork() {
106
100
StepVerifier .create (reactivePersonRepostitory .findByLastname (boyd .getLastname ())).expectNext (boyd ).verifyComplete ();
107
101
}
108
102
109
- @ Test // DATAMONGO-1444
110
- public void simpleRxJava1MethodsShouldWork () {
111
-
112
- rxJava1PersonRepostitory .existsById (dave .getId ()) //
113
- .test () //
114
- .awaitTerminalEvent () //
115
- .assertValue (true ) //
116
- .assertNoErrors () //
117
- .assertCompleted ();
118
- }
119
-
120
- @ Test // DATAMONGO-1444
121
- public void existsWithSingleRxJava1IdMethodsShouldWork () {
122
-
123
- rxJava1PersonRepostitory .existsById (Single .just (dave .getId ())) //
124
- .test () //
125
- .awaitTerminalEvent () //
126
- .assertValue (true ) //
127
- .assertNoErrors () //
128
- .assertCompleted ();
129
- }
130
-
131
- @ Test // DATAMONGO-1444
132
- public void singleRxJava1QueryMethodShouldWork () {
133
-
134
- rxJava1PersonRepostitory .findByFirstnameAndLastname (dave .getFirstname (), dave .getLastname ()) //
135
- .test () //
136
- .awaitTerminalEvent () //
137
- .assertValue (dave ) //
138
- .assertNoErrors () //
139
- .assertCompleted ();
140
- }
141
-
142
- @ Test // DATAMONGO-1444
143
- public void singleProjectedRxJava1QueryMethodShouldWork () {
144
-
145
- List <ProjectedPerson > people = rxJava1PersonRepostitory .findProjectedByLastname (carter .getLastname ()) //
146
- .test () //
147
- .awaitTerminalEvent () //
148
- .assertValueCount (1 ) //
149
- .assertNoErrors () //
150
- .assertCompleted () //
151
- .getOnNextEvents ();
152
-
153
- ProjectedPerson projectedPerson = people .get (0 );
154
- assertThat (projectedPerson .getFirstname ()).isEqualTo (carter .getFirstname ());
155
- }
156
-
157
- @ Test // DATAMONGO-1444
158
- public void observableRxJava1QueryMethodShouldWork () {
159
-
160
- rxJava1PersonRepostitory .findByLastname (boyd .getLastname ()) //
161
- .test () //
162
- .awaitTerminalEvent () //
163
- .assertValue (boyd ) //
164
- .assertNoErrors () //
165
- .assertCompleted () //
166
- .getOnNextEvents ();
167
- }
168
-
169
- @ Test // DATAMONGO-1610
170
- public void simpleRxJava2MethodsShouldWork () {
171
-
172
- TestObserver <Boolean > testObserver = rxJava2PersonRepostitory .existsById (dave .getId ()).test ();
173
-
174
- testObserver .awaitTerminalEvent ();
175
- testObserver .assertComplete ();
176
- testObserver .assertNoErrors ();
177
- testObserver .assertValue (true );
178
- }
179
-
180
- @ Test // DATAMONGO-1610
181
- public void existsWithSingleRxJava2IdMethodsShouldWork () {
182
-
183
- TestObserver <Boolean > testObserver = rxJava2PersonRepostitory .existsById (io .reactivex .Single .just (dave .getId ()))
184
- .test ();
185
-
186
- testObserver .awaitTerminalEvent ();
187
- testObserver .assertComplete ();
188
- testObserver .assertNoErrors ();
189
- testObserver .assertValue (true );
190
- }
191
-
192
- @ Test // DATAMONGO-1610
193
- public void flowableRxJava2QueryMethodShouldWork () {
194
-
195
- io .reactivex .subscribers .TestSubscriber <ReactivePerson > testSubscriber = rxJava2PersonRepostitory
196
- .findByFirstnameAndLastname (dave .getFirstname (), dave .getLastname ()).test ();
197
-
198
- testSubscriber .awaitTerminalEvent ();
199
- testSubscriber .assertComplete ();
200
- testSubscriber .assertNoErrors ();
201
- testSubscriber .assertValue (dave );
202
- }
203
-
204
- @ Test // DATAMONGO-1610
205
- public void singleProjectedRxJava2QueryMethodShouldWork () {
206
-
207
- TestObserver <ProjectedPerson > testObserver = rxJava2PersonRepostitory
208
- .findProjectedByLastname (Maybe .just (carter .getLastname ())).test ();
209
-
210
- testObserver .awaitTerminalEvent ();
211
- testObserver .assertComplete ();
212
- testObserver .assertNoErrors ();
213
-
214
- testObserver .assertValue (actual -> {
215
- assertThat (actual .getFirstname ()).isEqualTo (carter .getFirstname ());
216
- return true ;
217
- });
218
- }
219
-
220
- @ Test // DATAMONGO-1610
221
- public void observableProjectedRxJava2QueryMethodShouldWork () {
222
-
223
- TestObserver <ProjectedPerson > testObserver = rxJava2PersonRepostitory
224
- .findProjectedByLastname (Single .just (carter .getLastname ())).test ();
225
-
226
- testObserver .awaitTerminalEvent ();
227
- testObserver .assertComplete ();
228
- testObserver .assertNoErrors ();
229
-
230
- testObserver .assertValue (actual -> {
231
- assertThat (actual .getFirstname ()).isEqualTo (carter .getFirstname ());
232
- return true ;
233
- });
234
- }
235
-
236
- @ Test // DATAMONGO-1610
237
- public void maybeRxJava2QueryMethodShouldWork () {
238
-
239
- TestObserver <ReactivePerson > testObserver = rxJava2PersonRepostitory .findByLastname (boyd .getLastname ()).test ();
240
-
241
- testObserver .awaitTerminalEvent ();
242
- testObserver .assertComplete ();
243
- testObserver .assertNoErrors ();
244
- testObserver .assertValue (boyd );
245
- }
246
-
247
103
@ Test // DATAMONGO-2558
248
- public void simpleRxJava3MethodsShouldWork () {
104
+ public void simpleRxJava3MethodsShouldWork () throws InterruptedException {
249
105
250
106
TestObserver <Boolean > testObserver = rxJava3PersonRepostitory .existsById (dave .getId ()).test ();
251
107
252
- testObserver .awaitTerminalEvent ();
108
+ testObserver .await ();
253
109
testObserver .assertComplete ();
254
110
testObserver .assertNoErrors ();
255
111
testObserver .assertValue (true );
256
112
}
257
113
258
114
@ Test // DATAMONGO-2558
259
- public void existsWithSingleRxJava3IdMethodsShouldWork () {
115
+ public void existsWithSingleRxJava3IdMethodsShouldWork () throws InterruptedException {
260
116
261
- TestObserver <Boolean > testObserver = rxJava3PersonRepostitory .existsById (io . reactivex . Single .just (dave .getId ()))
117
+ TestObserver <Boolean > testObserver = rxJava3PersonRepostitory .existsById (Single .just (dave .getId ()))
262
118
.test ();
263
119
264
- testObserver .awaitTerminalEvent ();
120
+ testObserver .await ();
265
121
testObserver .assertComplete ();
266
122
testObserver .assertNoErrors ();
267
123
testObserver .assertValue (true );
@@ -323,17 +179,17 @@ public void maybeRxJava3QueryMethodShouldWork() throws InterruptedException {
323
179
testObserver .assertValue (boyd );
324
180
}
325
181
326
- @ Test // DATAMONGO-1444
327
- public void mixedRepositoryShouldWork () {
328
-
329
- reactiveRepository .findByLastname (boyd .getLastname ()) //
330
- .test () //
331
- .awaitTerminalEvent () //
332
- .assertValue (boyd ) //
333
- .assertNoErrors () //
334
- .assertCompleted () //
335
- .getOnNextEvents ();
336
- }
182
+ // @Test // DATAMONGO-1444
183
+ // public void mixedRepositoryShouldWork() {
184
+ //
185
+ // reactiveRepository.findByLastname(boyd.getLastname()) //
186
+ // .test() //
187
+ // .awaitTerminalEvent() //
188
+ // .assertValue(boyd) //
189
+ // .assertNoErrors() //
190
+ // .assertCompleted() //
191
+ // .getOnNextEvents();
192
+ // }
337
193
338
194
@ Test // DATAMONGO-1444
339
195
public void shouldFindOneBySingleOfLastName () {
@@ -352,50 +208,26 @@ public void shouldFindByObservableOfLastNameIn() {
352
208
.verifyComplete ();
353
209
}
354
210
355
- @ Test // DATAMONGO-1444
356
- public void shouldFindByPublisherOfLastNameInAndAgeGreater () {
357
-
358
- List <ReactivePerson > people = reactiveRepository
359
- .findByLastnameInAndAgeGreaterThan (Flux .just (carter .getLastname (), dave .getLastname ()), 41 ).test () //
360
- .awaitTerminalEvent () //
361
- .assertValueCount (2 ) //
362
- .assertNoErrors () //
363
- .assertCompleted () //
364
- .getOnNextEvents ();
365
-
366
- assertThat (people ).contains (carter , dave );
367
- }
211
+ // @Test // DATAMONGO-1444
212
+ // public void shouldFindByPublisherOfLastNameInAndAgeGreater() {
213
+ //
214
+ // List<ReactivePerson> people = reactiveRepository
215
+ // .findByLastnameInAndAgeGreaterThan(Flux.just(carter.getLastname(), dave.getLastname()), 41).test() //
216
+ // .awaitTerminalEvent() //
217
+ // .assertValueCount(2) //
218
+ // .assertNoErrors() //
219
+ // .assertCompleted() //
220
+ // .getOnNextEvents();
221
+ //
222
+ // assertThat(people).contains(carter, dave);
223
+ // }
368
224
369
225
interface ReactivePersonRepostitory extends ReactiveSortingRepository <ReactivePerson , String > {
370
226
371
227
Publisher <ReactivePerson > findByLastname (String lastname );
372
228
}
373
229
374
- interface RxJava1PersonRepostitory extends org .springframework .data .repository .Repository <ReactivePerson , String > {
375
-
376
- Observable <ReactivePerson > findByFirstnameAndLastname (String firstname , String lastname );
377
-
378
- Single <ReactivePerson > findByLastname (String lastname );
379
-
380
- Single <ProjectedPerson > findProjectedByLastname (String lastname );
381
-
382
- Single <Boolean > existsById (String id );
383
-
384
- Single <Boolean > existsById (Single <String > id );
385
- }
386
-
387
- interface RxJava2PersonRepostitory extends RxJava2SortingRepository <ReactivePerson , String > {
388
-
389
- Flowable <ReactivePerson > findByFirstnameAndLastname (String firstname , String lastname );
390
-
391
- Maybe <ReactivePerson > findByLastname (String lastname );
392
-
393
- io .reactivex .Single <ProjectedPerson > findProjectedByLastname (Maybe <String > lastname );
394
-
395
- io .reactivex .Observable <ProjectedPerson > findProjectedByLastname (Single <String > lastname );
396
- }
397
-
398
- interface RxJava3PersonRepostitory extends RxJava2SortingRepository <ReactivePerson , String > {
230
+ interface RxJava3PersonRepostitory extends RxJava3SortingRepository <ReactivePerson , String > {
399
231
400
232
io .reactivex .rxjava3 .core .Flowable <ReactivePerson > findByFirstnameAndLastname (String firstname , String lastname );
401
233
0 commit comments