1717
1818import static org .assertj .core .api .Assertions .*;
1919
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 ;
2323import io .reactivex .rxjava3 .subscribers .TestSubscriber ;
2424import lombok .Data ;
2525import lombok .NoArgsConstructor ;
26+ import org .springframework .data .repository .reactive .RxJava3SortingRepository ;
2627import reactor .core .publisher .Flux ;
2728import reactor .core .publisher .Mono ;
2829import reactor .test .StepVerifier ;
29- import rx .Observable ;
30- import rx .Single ;
3130
3231import java .util .Arrays ;
3332import java .util .List ;
4645import org .springframework .data .mongodb .core .mapping .Document ;
4746import org .springframework .data .mongodb .repository .config .EnableReactiveMongoRepositories ;
4847import org .springframework .data .repository .reactive .ReactiveSortingRepository ;
49- import org .springframework .data .repository .reactive .RxJava2SortingRepository ;
5048import org .springframework .test .context .ContextConfiguration ;
5149import org .springframework .test .context .junit4 .SpringRunner ;
5250
@@ -61,8 +59,6 @@ public class ConvertingReactiveMongoRepositoryTests {
6159
6260 @ EnableReactiveMongoRepositories (
6361 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 ),
6662 @ Filter (value = RxJava3PersonRepostitory .class , type = FilterType .ASSIGNABLE_TYPE ),
6763 @ Filter (value = MixedReactivePersonRepostitory .class , type = FilterType .ASSIGNABLE_TYPE ) },
6864 considerNestedRepositories = true )
@@ -71,8 +67,6 @@ static class Config {}
7167
7268 @ Autowired MixedReactivePersonRepostitory reactiveRepository ;
7369 @ Autowired ReactivePersonRepostitory reactivePersonRepostitory ;
74- @ Autowired RxJava1PersonRepostitory rxJava1PersonRepostitory ;
75- @ Autowired RxJava2PersonRepostitory rxJava2PersonRepostitory ;
7670 @ Autowired RxJava3PersonRepostitory rxJava3PersonRepostitory ;
7771
7872 ReactivePerson dave , oliver , carter , boyd , stefan , leroi , alicia ;
@@ -106,162 +100,24 @@ public void reactiveStreamsQueryMethodsShouldWork() {
106100 StepVerifier .create (reactivePersonRepostitory .findByLastname (boyd .getLastname ())).expectNext (boyd ).verifyComplete ();
107101 }
108102
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-
247103 @ Test // DATAMONGO-2558
248- public void simpleRxJava3MethodsShouldWork () {
104+ public void simpleRxJava3MethodsShouldWork () throws InterruptedException {
249105
250106 TestObserver <Boolean > testObserver = rxJava3PersonRepostitory .existsById (dave .getId ()).test ();
251107
252- testObserver .awaitTerminalEvent ();
108+ testObserver .await ();
253109 testObserver .assertComplete ();
254110 testObserver .assertNoErrors ();
255111 testObserver .assertValue (true );
256112 }
257113
258114 @ Test // DATAMONGO-2558
259- public void existsWithSingleRxJava3IdMethodsShouldWork () {
115+ public void existsWithSingleRxJava3IdMethodsShouldWork () throws InterruptedException {
260116
261- TestObserver <Boolean > testObserver = rxJava3PersonRepostitory .existsById (io . reactivex . Single .just (dave .getId ()))
117+ TestObserver <Boolean > testObserver = rxJava3PersonRepostitory .existsById (Single .just (dave .getId ()))
262118 .test ();
263119
264- testObserver .awaitTerminalEvent ();
120+ testObserver .await ();
265121 testObserver .assertComplete ();
266122 testObserver .assertNoErrors ();
267123 testObserver .assertValue (true );
@@ -323,17 +179,17 @@ public void maybeRxJava3QueryMethodShouldWork() throws InterruptedException {
323179 testObserver .assertValue (boyd );
324180 }
325181
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+ // }
337193
338194 @ Test // DATAMONGO-1444
339195 public void shouldFindOneBySingleOfLastName () {
@@ -352,50 +208,26 @@ public void shouldFindByObservableOfLastNameIn() {
352208 .verifyComplete ();
353209 }
354210
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+ // }
368224
369225 interface ReactivePersonRepostitory extends ReactiveSortingRepository <ReactivePerson , String > {
370226
371227 Publisher <ReactivePerson > findByLastname (String lastname );
372228 }
373229
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 > {
399231
400232 io .reactivex .rxjava3 .core .Flowable <ReactivePerson > findByFirstnameAndLastname (String firstname , String lastname );
401233
0 commit comments