From 99e51a9101a83b6f625331e02348252f1c12c818 Mon Sep 17 00:00:00 2001 From: Sebastien Deleuze Date: Tue, 12 Jan 2016 15:27:02 +0100 Subject: [PATCH] Replace Reactor Stream by Flux in tests when possible --- .../util/ByteBufferPublisherInputStream.java | 1 + .../codec/decoder/ByteBufferDecoderTests.java | 11 ++-- .../decoder/JacksonJsonDecoderTests.java | 11 ++-- .../codec/decoder/Jaxb2DecoderTests.java | 11 ++-- .../codec/decoder/JsonObjectDecoderTests.java | 57 ++++++++++--------- .../codec/decoder/StringDecoderTests.java | 11 ++-- .../codec/encoder/ByteBufferEncoderTests.java | 11 ++-- .../encoder/JacksonJsonEncoderTests.java | 13 +++-- .../codec/encoder/Jaxb2EncoderTests.java | 18 +++--- .../codec/encoder/StringEncoderTests.java | 17 +++--- ...mpleUrlHandlerMappingIntegrationTests.java | 6 +- .../RequestMappingHandlerMappingTests.java | 6 +- 12 files changed, 97 insertions(+), 76 deletions(-) diff --git a/spring-web-reactive/src/main/java/org/springframework/util/ByteBufferPublisherInputStream.java b/spring-web-reactive/src/main/java/org/springframework/util/ByteBufferPublisherInputStream.java index 92165fac16..abc1df3c44 100644 --- a/spring-web-reactive/src/main/java/org/springframework/util/ByteBufferPublisherInputStream.java +++ b/spring-web-reactive/src/main/java/org/springframework/util/ByteBufferPublisherInputStream.java @@ -60,6 +60,7 @@ public class ByteBufferPublisherInputStream extends InputStream { public ByteBufferPublisherInputStream(Publisher publisher, int requestSize) { Assert.notNull(publisher, "'publisher' must not be null"); + // TODO Avoid using Reactor Stream, it should not be a mandatory dependency of Spring Reactive this.queue = Stream.from(publisher).toBlockingQueue(requestSize); } diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/ByteBufferDecoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/ByteBufferDecoderTests.java index a934afd749..1259a0019c 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/ByteBufferDecoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/ByteBufferDecoderTests.java @@ -18,13 +18,14 @@ package org.springframework.reactive.codec.decoder; import java.nio.ByteBuffer; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.*; import org.junit.Test; import org.reactivestreams.Publisher; +import reactor.Flux; import reactor.io.buffer.Buffer; -import reactor.rx.Stream; -import reactor.rx.Streams; import org.springframework.core.ResolvableType; import org.springframework.core.codec.support.ByteBufferDecoder; @@ -48,9 +49,9 @@ public class ByteBufferDecoderTests { public void decode() throws InterruptedException { ByteBuffer fooBuffer = Buffer.wrap("foo").byteBuffer(); ByteBuffer barBuffer = Buffer.wrap("bar").byteBuffer(); - Stream source = Streams.just(fooBuffer, barBuffer); - List results = Streams.from(decoder.decode(source, - ResolvableType.forClassWithGenerics(Publisher.class, ByteBuffer.class), null)).toList().get(); + Flux source = Flux.just(fooBuffer, barBuffer); + Flux output = decoder.decode(source, ResolvableType.forClassWithGenerics(Publisher.class, ByteBuffer.class), null); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(2, results.size()); assertEquals(fooBuffer, results.get(0)); assertEquals(barBuffer, results.get(1)); diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/JacksonJsonDecoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/JacksonJsonDecoderTests.java index 8059a681ae..e80bd0298d 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/JacksonJsonDecoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/JacksonJsonDecoderTests.java @@ -18,14 +18,15 @@ package org.springframework.reactive.codec.decoder; import java.nio.ByteBuffer; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; +import reactor.Flux; import reactor.io.buffer.Buffer; -import reactor.rx.Stream; -import reactor.rx.Streams; import org.springframework.core.ResolvableType; import org.springframework.core.codec.support.JacksonJsonDecoder; @@ -47,9 +48,9 @@ public class JacksonJsonDecoderTests { @Test public void decode() throws InterruptedException { - Stream source = Streams.just(Buffer.wrap("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}").byteBuffer()); - List results = Streams.from(decoder.decode(source, ResolvableType.forClass(Pojo.class), null)) - .toList().get(); + Flux source = Flux.just(Buffer.wrap("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}").byteBuffer()); + Flux output = decoder.decode(source, ResolvableType.forClass(Pojo.class), null); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(1, results.size()); assertEquals("foofoo", ((Pojo) results.get(0)).getFoo()); } diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/Jaxb2DecoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/Jaxb2DecoderTests.java index 65b23e4ac3..69aaffdf8a 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/Jaxb2DecoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/Jaxb2DecoderTests.java @@ -18,14 +18,15 @@ package org.springframework.reactive.codec.decoder; import java.nio.ByteBuffer; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; +import reactor.Flux; import reactor.io.buffer.Buffer; -import reactor.rx.Stream; -import reactor.rx.Streams; import org.springframework.core.ResolvableType; import org.springframework.core.codec.support.Jaxb2Decoder; @@ -48,9 +49,9 @@ public class Jaxb2DecoderTests { @Test public void decode() throws InterruptedException { - Stream source = Streams.just(Buffer.wrap("barbarfoofoo").byteBuffer()); - List results = Streams.from(decoder.decode(source, ResolvableType.forClass(Pojo.class), null)) - .toList().get(); + Flux source = Flux.just(Buffer.wrap("barbarfoofoo").byteBuffer()); + Flux output = decoder.decode(source, ResolvableType.forClass(Pojo.class), null); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(1, results.size()); assertEquals("foofoo", ((Pojo) results.get(0)).getFoo()); } diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/JsonObjectDecoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/JsonObjectDecoderTests.java index ac3eea8399..6f3a5e1e1c 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/JsonObjectDecoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/JsonObjectDecoderTests.java @@ -19,12 +19,13 @@ package org.springframework.reactive.codec.decoder; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import org.junit.Test; +import reactor.Flux; import reactor.io.buffer.Buffer; -import reactor.rx.Stream; -import reactor.rx.Streams; import org.springframework.core.codec.support.JsonObjectDecoder; @@ -36,12 +37,13 @@ public class JsonObjectDecoderTests { @Test public void decodeSingleChunkToJsonObject() throws InterruptedException { JsonObjectDecoder decoder = new JsonObjectDecoder(); - Stream source = Streams.just(Buffer.wrap("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}").byteBuffer()); - List results = Streams.from(decoder.decode(source, null, null)).map(chunk -> { - byte[] b = new byte[chunk.remaining()]; - chunk.get(b); - return new String(b, StandardCharsets.UTF_8); - }).toList().get(); + Flux source = Flux.just(Buffer.wrap("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}").byteBuffer()); + Flux output = decoder.decode(source, null, null).map(chunk -> { + byte[] b = new byte[chunk.remaining()]; + chunk.get(b); + return new String(b, StandardCharsets.UTF_8); + }); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(1, results.size()); assertEquals("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}", results.get(0)); } @@ -49,12 +51,13 @@ public class JsonObjectDecoderTests { @Test public void decodeMultipleChunksToJsonObject() throws InterruptedException { JsonObjectDecoder decoder = new JsonObjectDecoder(); - Stream source = Streams.just(Buffer.wrap("{\"foo\": \"foofoo\"").byteBuffer(), Buffer.wrap(", \"bar\": \"barbar\"}").byteBuffer()); - List results = Streams.from(decoder.decode(source, null, null)).map(chunk -> { - byte[] b = new byte[chunk.remaining()]; - chunk.get(b); - return new String(b, StandardCharsets.UTF_8); - }).toList().get(); + Flux source = Flux.just(Buffer.wrap("{\"foo\": \"foofoo\"").byteBuffer(), Buffer.wrap(", \"bar\": \"barbar\"}").byteBuffer()); + Flux output = decoder.decode(source, null, null).map(chunk -> { + byte[] b = new byte[chunk.remaining()]; + chunk.get(b); + return new String(b, StandardCharsets.UTF_8); + }); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(1, results.size()); assertEquals("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}", results.get(0)); } @@ -62,12 +65,13 @@ public class JsonObjectDecoderTests { @Test public void decodeSingleChunkToArray() throws InterruptedException { JsonObjectDecoder decoder = new JsonObjectDecoder(); - Stream source = Streams.just(Buffer.wrap("[{\"foo\": \"foofoo\", \"bar\": \"barbar\"},{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}]").byteBuffer()); - List results = Streams.from(decoder.decode(source, null, null)).map(chunk -> { - byte[] b = new byte[chunk.remaining()]; - chunk.get(b); - return new String(b, StandardCharsets.UTF_8); - }).toList().get(); + Flux source = Flux.just(Buffer.wrap("[{\"foo\": \"foofoo\", \"bar\": \"barbar\"},{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}]").byteBuffer()); + Flux output = decoder.decode(source, null, null).map(chunk -> { + byte[] b = new byte[chunk.remaining()]; + chunk.get(b); + return new String(b, StandardCharsets.UTF_8); + }); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(2, results.size()); assertEquals("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}", results.get(0)); assertEquals("{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}", results.get(1)); @@ -76,12 +80,13 @@ public class JsonObjectDecoderTests { @Test public void decodeMultipleChunksToArray() throws InterruptedException { JsonObjectDecoder decoder = new JsonObjectDecoder(); - Stream source = Streams.just(Buffer.wrap("[{\"foo\": \"foofoo\", \"bar\"").byteBuffer(), Buffer.wrap(": \"barbar\"},{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}]").byteBuffer()); - List results = Streams.from(decoder.decode(source, null, null)).map(chunk -> { - byte[] b = new byte[chunk.remaining()]; - chunk.get(b); - return new String(b, StandardCharsets.UTF_8); - }).toList().get(); + Flux source = Flux.just(Buffer.wrap("[{\"foo\": \"foofoo\", \"bar\"").byteBuffer(), Buffer.wrap(": \"barbar\"},{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}]").byteBuffer()); + Flux output = decoder.decode(source, null, null).map(chunk -> { + byte[] b = new byte[chunk.remaining()]; + chunk.get(b); + return new String(b, StandardCharsets.UTF_8); + }); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(2, results.size()); assertEquals("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}", results.get(0)); assertEquals("{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}", results.get(1)); diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/StringDecoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/StringDecoderTests.java index 4e22989b9b..038d26e2b1 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/StringDecoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/decoder/StringDecoderTests.java @@ -18,15 +18,16 @@ package org.springframework.reactive.codec.decoder; import java.nio.ByteBuffer; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.reactivestreams.Publisher; +import reactor.Flux; import reactor.io.buffer.Buffer; -import reactor.rx.Stream; -import reactor.rx.Streams; import org.springframework.core.ResolvableType; import org.springframework.core.codec.support.StringDecoder; @@ -48,9 +49,9 @@ public class StringDecoderTests { @Test public void decode() throws InterruptedException { - Stream source = Streams.just(Buffer.wrap("foo").byteBuffer(), Buffer.wrap("bar").byteBuffer()); - List results = Streams.from(decoder.decode(source, - ResolvableType.forClassWithGenerics(Publisher.class, String.class), null)).toList().get(); + Flux source = Flux.just(Buffer.wrap("foo").byteBuffer(), Buffer.wrap("bar").byteBuffer()); + Flux output = decoder.decode(source, ResolvableType.forClassWithGenerics(Publisher.class, String.class), null); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(2, results.size()); assertEquals("foo", results.get(0)); assertEquals("bar", results.get(1)); diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/ByteBufferEncoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/ByteBufferEncoderTests.java index 168d150de9..c7612bb0aa 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/ByteBufferEncoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/ByteBufferEncoderTests.java @@ -18,13 +18,14 @@ package org.springframework.reactive.codec.encoder; import java.nio.ByteBuffer; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.*; import org.junit.Test; import org.reactivestreams.Publisher; +import reactor.Flux; import reactor.io.buffer.Buffer; -import reactor.rx.Stream; -import reactor.rx.Streams; import org.springframework.core.ResolvableType; import org.springframework.core.codec.support.ByteBufferEncoder; @@ -48,9 +49,9 @@ public class ByteBufferEncoderTests { public void decode() throws InterruptedException { ByteBuffer fooBuffer = Buffer.wrap("foo").byteBuffer(); ByteBuffer barBuffer = Buffer.wrap("bar").byteBuffer(); - Stream source = Streams.just(fooBuffer, barBuffer); - List results = Streams.from(encoder.encode(source, - ResolvableType.forClassWithGenerics(Publisher.class, ByteBuffer.class), null)).toList().get(); + Flux source = Flux.just(fooBuffer, barBuffer); + Flux output = encoder.encode(source, ResolvableType.forClassWithGenerics(Publisher.class, ByteBuffer.class), null); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(2, results.size()); assertEquals(fooBuffer, results.get(0)); assertEquals(barBuffer, results.get(1)); diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/JacksonJsonEncoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/JacksonJsonEncoderTests.java index 5350148d76..685c3d8e9f 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/JacksonJsonEncoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/JacksonJsonEncoderTests.java @@ -16,15 +16,17 @@ package org.springframework.reactive.codec.encoder; +import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; -import reactor.rx.Stream; -import reactor.rx.Streams; +import reactor.Flux; import org.springframework.core.codec.support.JacksonJsonEncoder; import org.springframework.http.MediaType; @@ -45,12 +47,13 @@ public class JacksonJsonEncoderTests { @Test public void write() throws InterruptedException { - Stream source = Streams.just(new Pojo("foofoo", "barbar"), new Pojo("foofoofoo", "barbarbar")); - List results = Streams.from(encoder.encode(source, null, null)).map(chunk -> { + Flux source = Flux.just(new Pojo("foofoo", "barbar"), new Pojo("foofoofoo", "barbarbar")); + Flux output = encoder.encode(source, null, null).map(chunk -> { byte[] b = new byte[chunk.remaining()]; chunk.get(b); return new String(b, StandardCharsets.UTF_8); - }).toList().get(); + }); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(2, results.size()); assertEquals("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}", results.get(0)); assertEquals("{\"foo\":\"foofoofoo\",\"bar\":\"barbarbar\"}", results.get(1)); diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/Jaxb2EncoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/Jaxb2EncoderTests.java index 2536b2c027..d2c4d62ca4 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/Jaxb2EncoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/Jaxb2EncoderTests.java @@ -18,13 +18,14 @@ package org.springframework.reactive.codec.encoder; import java.nio.charset.StandardCharsets; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; -import reactor.rx.Stream; -import reactor.rx.Streams; +import reactor.Flux; import org.springframework.core.codec.support.Jaxb2Encoder; import org.springframework.http.MediaType; @@ -46,12 +47,13 @@ public class Jaxb2EncoderTests { @Test public void encode() throws InterruptedException { - Stream source = Streams.just(new Pojo("foofoo", "barbar"), new Pojo("foofoofoo", "barbarbar")); - List results = Streams.from(encoder.encode(source, null, null)).map(chunk -> { - byte[] b = new byte[chunk.remaining()]; - chunk.get(b); - return new String(b, StandardCharsets.UTF_8); - }).toList().get(); + Flux source = Flux.just(new Pojo("foofoo", "barbar"), new Pojo("foofoofoo", "barbarbar")); + Flux output = encoder.encode(source, null, null).map(chunk -> { + byte[] b = new byte[chunk.remaining()]; + chunk.get(b); + return new String(b, StandardCharsets.UTF_8); + }); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(2, results.size()); assertEquals("barbarfoofoo", results.get(0)); assertEquals("barbarbarfoofoofoo", results.get(1)); diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/StringEncoderTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/StringEncoderTests.java index 3eef55cfe5..215c3d17ea 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/StringEncoderTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/codec/encoder/StringEncoderTests.java @@ -16,14 +16,17 @@ package org.springframework.reactive.codec.encoder; +import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; -import reactor.rx.Streams; +import reactor.Flux; import org.springframework.core.ResolvableType; import org.springframework.core.codec.support.StringEncoder; @@ -45,12 +48,12 @@ public class StringEncoderTests { @Test public void write() throws InterruptedException { - List results = Streams.from(encoder.encode(Streams.just("foo"), null, null)) - .map(chunk -> { - byte[] b = new byte[chunk.remaining()]; - chunk.get(b); - return new String(b, StandardCharsets.UTF_8); - }).toList().get(); + Flux output = Flux.from(encoder.encode(Flux.just("foo"), null, null)).map(chunk -> { + byte[] b = new byte[chunk.remaining()]; + chunk.get(b); + return new String(b, StandardCharsets.UTF_8); + }); + List results = StreamSupport.stream(output.toIterable().spliterator(), false).collect(toList()); assertEquals(1, results.size()); assertEquals("foo", results.get(0)); } diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingIntegrationTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingIntegrationTests.java index dfc0fb1a56..c25ea1bb7e 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingIntegrationTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingIntegrationTests.java @@ -22,9 +22,9 @@ import java.util.HashMap; import java.util.Map; import org.junit.Test; +import reactor.Flux; import reactor.Mono; import reactor.io.buffer.Buffer; -import reactor.rx.Stream; import org.springframework.context.support.StaticApplicationContext; import org.springframework.http.HttpStatus; @@ -139,7 +139,7 @@ public class SimpleUrlHandlerMappingIntegrationTests extends AbstractHttpHandler @Override public Mono handle(WebServerExchange exchange) { - return exchange.getResponse().setBody(Stream.just(Buffer.wrap("foo").byteBuffer())); + return exchange.getResponse().setBody(Flux.just(Buffer.wrap("foo").byteBuffer())); } } @@ -147,7 +147,7 @@ public class SimpleUrlHandlerMappingIntegrationTests extends AbstractHttpHandler @Override public Mono handle(WebServerExchange exchange) { - return exchange.getResponse().setBody(Stream.just(Buffer.wrap("bar").byteBuffer())); + return exchange.getResponse().setBody(Flux.just(Buffer.wrap("bar").byteBuffer())); } } diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/method/annotation/RequestMappingHandlerMappingTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/method/annotation/RequestMappingHandlerMappingTests.java index 945c2b6ff2..1bc53dcdce 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/method/annotation/RequestMappingHandlerMappingTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/method/annotation/RequestMappingHandlerMappingTests.java @@ -18,11 +18,12 @@ package org.springframework.web.reactive.method.annotation; import java.net.URI; import java.util.List; +import java.util.stream.StreamSupport; +import static java.util.stream.Collectors.toList; import org.junit.Before; import org.junit.Test; import org.reactivestreams.Publisher; -import reactor.rx.Stream; import org.springframework.context.support.StaticApplicationContext; import org.springframework.http.HttpMethod; @@ -38,6 +39,7 @@ import org.springframework.web.server.WebServerExchange; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import reactor.Flux; /** * @author Sebastien Deleuze @@ -83,7 +85,7 @@ public class RequestMappingHandlerMappingTests { private HandlerMethod toHandlerMethod(Publisher handlerPublisher) throws InterruptedException { assertNotNull(handlerPublisher); - List handlerList = Stream.from(handlerPublisher).toList().get(); + List handlerList = StreamSupport.stream(Flux.from(handlerPublisher).toIterable().spliterator(), false).collect(toList()); assertEquals(1, handlerList.size()); return (HandlerMethod) handlerList.get(0); }