Request
public class Part06Request {
ReactiveRepository<User> repository = new ReactiveUserRepository();
//========================================================================================
// TODO Create a StepVerifier that initially requests all values and expect 4 values to be received
public StepVerifier requestAllExpectFour(Flux<User> flux) {
return StepVerifier
.create(flux)
.expectNextCount(4)
.expectComplete();
}
//========================================================================================
// TODO Create a StepVerifier that initially requests 1 value and expects User.SKYLER then requests another value and expects User.JESSE then stops verifying by cancelling the source
public StepVerifier requestOneExpectSkylerThenRequestOneExpectJesse(Flux<User> flux) {
return StepVerifier.create(flux)
.expectNext(User.SKYLER)
.thenRequest(1)
.expectNext(User.JESSE)
.thenCancel();
}
//========================================================================================
// TODO Return a Flux with all users stored in the repository that prints automatically logs for all Reactive Streams signals
public Flux<User> fluxWithLog() {
return repository.findAll().log();
}
//========================================================================================
// TODO Return a Flux with all users stored in the repository that prints "Starring:" at first, "firstname lastname" for all values and "The end!" on complete
public Flux<User> fluxWithDoOnPrintln() {
return repository.findAll()
.doOnSubscribe(subscription -> System.out.println("Starring:"))
.doOnNext(user -> System.out.println(user.getFirstname() + " " + user.getLastname()))
.doOnComplete(() -> System.out.println("The end!"));
}
}
@Test
public void TestRequest(){
Part06Request t = new Part06Request();
t.requestAllExpectFour(Flux.just(User.JESSE, User.SAUL, User.WALTER,User.SKYLER)).verify();
t.requestOneExpectSkylerThenRequestOneExpectJesse(Flux.just(User.SKYLER, User.JESSE)).verify();
t.fluxWithLog().subscribe();
t.fluxWithDoOnPrintln().subscribe();
}
本文来自博客园,作者:bigroc,转载请注明原文链接:https://www.cnblogs.com/bigroc/p/19211069
blog:http://www.bigroc.cn 博客园:https://www.cnblogs.com/bigroc
浙公网安备 33010602011771号