public DefaultRenderingResponseBuilder(RenderingResponse other) { Assert.notNull(other, "RenderingResponse must not be null"); this.name = other.name(); this.status = (other instanceof DefaultRenderingResponse ? ((DefaultRenderingResponse) other).statusCode : other.statusCode().value()); this.headers.putAll(other.headers()); this.model.putAll(other.model()); }
@Test public void render() { Map<String, Object> model = Collections.singletonMap("foo", "bar"); Mono<RenderingResponse> result = RenderingResponse.create("view").modelAttributes(model).build(); MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("http://localhost")); ViewResolver viewResolver = mock(ViewResolver.class); View view = mock(View.class); when(viewResolver.resolveViewName("view", Locale.ENGLISH)).thenReturn(Mono.just(view)); when(view.render(model, null, exchange)).thenReturn(Mono.empty()); List<ViewResolver> viewResolvers = new ArrayList<>(); viewResolvers.add(viewResolver); HandlerStrategies mockConfig = mock(HandlerStrategies.class); when(mockConfig.viewResolvers()).thenReturn(viewResolvers); StepVerifier.create(result) .expectNextMatches(response -> "view".equals(response.name()) && model.equals(response.model())) .expectComplete() .verify(); }
@Test public void modelAttributesConventions() { Set<String> model = Collections.singleton("bar"); Mono<RenderingResponse> result = RenderingResponse.create("foo") .modelAttributes(model).build(); StepVerifier.create(result) .expectNextMatches(response -> "bar".equals(response.model().get("string"))) .expectComplete() .verify(); }
@Test public void modelAttributes() { Map<String, String> model = Collections.singletonMap("foo", "bar"); Mono<RenderingResponse> result = RenderingResponse.create("foo") .modelAttributes(model).build(); StepVerifier.create(result) .expectNextMatches(response -> "bar".equals(response.model().get("foo"))) .expectComplete() .verify(); }
@Test public void modelAttribute() { Mono<RenderingResponse> result = RenderingResponse.create("foo") .modelAttribute("foo", "bar").build(); StepVerifier.create(result) .expectNextMatches(response -> "bar".equals(response.model().get("foo"))) .expectComplete() .verify(); }
@Test public void modelAttributeConventions() { Mono<RenderingResponse> result = RenderingResponse.create("foo") .modelAttribute("bar").build(); StepVerifier.create(result) .expectNextMatches(response -> "bar".equals(response.model().get("string"))) .expectComplete() .verify(); }