@Test public void decode() { DataBuffer fooBuffer = stringBuffer("foo"); DataBuffer barBuffer = stringBuffer("bar"); Flux<DataBuffer> source = Flux.just(fooBuffer, barBuffer); Flux<ByteBuffer> output = this.decoder.decode( source, ResolvableType.forClassWithGenerics(Publisher.class, ByteBuffer.class), null, Collections.emptyMap()); StepVerifier.create(output) .expectNext(ByteBuffer.wrap("foo".getBytes()), ByteBuffer.wrap("bar".getBytes())) .expectComplete() .verify(); }
@Test public void render() throws Exception { Map<String, String> pojoData = new LinkedHashMap<>(); pojoData.put("foo", "f"); pojoData.put("bar", "b"); this.model.addAttribute("pojoData", pojoData); this.view.setModelKeys(Collections.singleton("pojoData")); MockServerHttpRequest request = new MockServerHttpRequest(HttpMethod.GET, "/path"); MockServerHttpResponse response = new MockServerHttpResponse(); WebSessionManager manager = new DefaultWebSessionManager(); ServerWebExchange exchange = new DefaultServerWebExchange(request, response, manager); this.view.render(this.model, MediaType.APPLICATION_JSON, exchange); StepVerifier.create(response.getBody()) .consumeNextWith( buf -> assertEquals( "{\"foo\":\"f\",\"bar\":\"b\"}", DataBufferTestUtils.dumpString(buf, StandardCharsets.UTF_8))) .expectComplete() .verify(); }