@ -33,6 +33,7 @@ import reactor.core.publisher.Flux;
@@ -33,6 +33,7 @@ import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono ;
import reactor.test.StepVerifier ;
import rx.Completable ;
import rx.Observable ;
import rx.Single ;
import org.springframework.core.MethodParameter ;
@ -270,9 +271,11 @@ public class ViewResolutionResultHandlerTests {
@@ -270,9 +271,11 @@ public class ViewResolutionResultHandlerTests {
@Test
public void modelWithAsyncAttributes ( ) throws Exception {
this . bindingContext . getModel ( )
. addAttribute ( "bean1" , Mono . just ( new TestBean ( "Bean1" ) ) )
. addAttribute ( "bean2" , Single . just ( new TestBean ( "Bean2" ) ) )
. addAttribute ( "empty" , Mono . empty ( ) ) ;
. addAttribute ( "attr1" , Mono . just ( new TestBean ( "Bean1" ) ) )
. addAttribute ( "attr2" , Flux . just ( new TestBean ( "Bean1" ) , new TestBean ( "Bean2" ) ) )
. addAttribute ( "attr3" , Single . just ( new TestBean ( "Bean2" ) ) )
. addAttribute ( "attr4" , Observable . just ( new TestBean ( "Bean1" ) , new TestBean ( "Bean2" ) ) )
. addAttribute ( "attr5" , Mono . empty ( ) ) ;
ResolvableType type = forClass ( void . class ) ;
HandlerResult result = new HandlerResult ( new Object ( ) , null , returnType ( type ) , this . bindingContext ) ;
@ -281,11 +284,13 @@ public class ViewResolutionResultHandlerTests {
@@ -281,11 +284,13 @@ public class ViewResolutionResultHandlerTests {
this . request . setUri ( "/account" ) ;
handler . handleResult ( this . exchange , result ) . blockMillis ( 5000 ) ;
assertResponseBody ( "account: {" +
"bean1=TestBean[name=Bean1], " +
"bean2=TestBean[name=Bean2], " +
"org.springframework.validation.BindingResult.bean1=" +
"attr1=TestBean[name=Bean1], " +
"attr2=[TestBean[name=Bean1], TestBean[name=Bean2]], " +
"attr3=TestBean[name=Bean2], " +
"attr4=[TestBean[name=Bean1], TestBean[name=Bean2]], " +
"org.springframework.validation.BindingResult.attr1=" +
"org.springframework.validation.BeanPropertyBindingResult: 0 errors, " +
"org.springframework.validation.BindingResult.bean2=" +
"org.springframework.validation.BindingResult.attr3 =" +
"org.springframework.validation.BeanPropertyBindingResult: 0 errors" +
"}" ) ;
}