DATACASS-398 - Polishing.

Use TestObserver fluent API style.

Original Pull Request: #95
This commit is contained in:
Christoph Strobl
2017-04-03 12:04:25 +02:00
parent 4f6548e932
commit 550c1c3da1

View File

@@ -19,8 +19,6 @@ import static org.assertj.core.api.Assertions.*;
import io.reactivex.Flowable;
import io.reactivex.Maybe;
import io.reactivex.observers.TestObserver;
import org.springframework.data.cassandra.core.ReactiveCassandraTemplate;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
@@ -38,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cassandra.test.integration.AbstractKeyspaceCreatingIntegrationTest;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.cassandra.core.ReactiveCassandraTemplate;
import org.springframework.data.cassandra.domain.Person;
import org.springframework.data.cassandra.repository.config.EnableReactiveCassandraRepositories;
import org.springframework.data.cassandra.test.integration.support.IntegrationTestConfig;
@@ -56,6 +55,7 @@ import com.datastax.driver.core.TableMetadata;
* Test for {@link ReactiveCassandraRepository} using reactive wrapper type conversion.
*
* @author Mark Paluch
* @author Christoph Strobl
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = ConvertingReactiveCassandraRepositoryTests.Config.class)
@@ -186,78 +186,72 @@ public class ConvertingReactiveCassandraRepositoryTests extends AbstractKeyspace
@Test // DATACASS-398
public void simpleRxJava2MethodsShouldWork() {
TestObserver<Boolean> testObserver = rxJava2PersonRepostitory.exists(dave.getId()).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(true);
rxJava2PersonRepostitory.exists(dave.getId()) //
.test()//
.assertValue(true) //
.assertNoErrors() //
.assertComplete() //
.awaitTerminalEvent();
}
@Test // DATACASS-398
public void existsWithSingleRxJava2IdMethodsShouldWork() {
TestObserver<Boolean> testObserver = rxJava2PersonRepostitory.exists(io.reactivex.Single.just(dave.getId())).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(true);
rxJava2PersonRepostitory.exists(io.reactivex.Single.just(dave.getId())).test() //
.assertValue(true) //
.assertNoErrors() //
.assertComplete() //
.awaitTerminalEvent();
}
@Test // DATACASS-398
public void flowableRxJava2QueryMethodShouldWork() {
io.reactivex.subscribers.TestSubscriber<Person> testSubscriber = rxJava2PersonRepostitory
.findManyByLastname(dave.getLastname()).test();
testSubscriber.awaitTerminalEvent();
testSubscriber.assertComplete();
testSubscriber.assertNoErrors();
testSubscriber.assertValueCount(2);
rxJava2PersonRepostitory.findManyByLastname(dave.getLastname()) //
.test() //
.assertValueCount(2) //
.assertNoErrors() //
.assertComplete() //
.awaitTerminalEvent();
}
@Test // DATACASS-398
public void singleProjectedRxJava2QueryMethodShouldWork() {
TestObserver<ProjectedPerson> testObserver = rxJava2PersonRepostitory
.findProjectedByLastname(Maybe.just(carter.getLastname())).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(actual -> {
assertThat(actual.getFirstname()).isEqualTo(carter.getFirstname());
return true;
});
rxJava2PersonRepostitory.findProjectedByLastname(Maybe.just(carter.getLastname())) //
.test() //
.assertValue(actual -> {
assertThat(actual.getFirstname()).isEqualTo(carter.getFirstname());
return true;
}) //
.assertComplete() //
.assertNoErrors() //
.awaitTerminalEvent();
}
@Test // DATACASS-398
public void observableProjectedRxJava2QueryMethodShouldWork() {
TestObserver<ProjectedPerson> testObserver = rxJava2PersonRepostitory
.findProjectedByLastname(Single.just(carter.getLastname())).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(actual -> {
assertThat(actual.getFirstname()).isEqualTo(carter.getFirstname());
return true;
});
rxJava2PersonRepostitory.findProjectedByLastname(Single.just(carter.getLastname())) //
.test() //
.assertValue(actual -> {
assertThat(actual.getFirstname()).isEqualTo(carter.getFirstname());
return true;
}) //
.assertComplete() //
.assertNoErrors() //
.awaitTerminalEvent();
}
@Test // DATACASS-398
public void maybeRxJava2QueryMethodShouldWork() {
TestObserver<Person> testObserver = rxJava2PersonRepostitory.findByLastname(boyd.getLastname()).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(boyd);
rxJava2PersonRepostitory.findByLastname(boyd.getLastname()) //
.test() //
.assertValue(boyd) //
.assertNoErrors() //
.assertComplete() //
.awaitTerminalEvent();
}
@Test // DATACASS-335
@@ -277,7 +271,6 @@ public class ConvertingReactiveCassandraRepositoryTests extends AbstractKeyspace
StepVerifier.create(reactiveRepository.findByLastname(Single.just(this.carter.getLastname()))) //
.expectNext(carter) //
.verifyComplete();
}
@Repository