Sync with TestSubscriber changes in reactor-core
This commit is contained in:
parent
65246f8cfd
commit
8cf5ea91f8
|
@ -56,9 +56,10 @@ public class ByteBufferDecoderTests extends AbstractDataBufferAllocatingTestCase
|
|||
Flux<ByteBuffer> output = this.decoder.decode(source,
|
||||
ResolvableType.forClassWithGenerics(Publisher.class, ByteBuffer.class),
|
||||
null);
|
||||
TestSubscriber<ByteBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).assertNoError().assertComplete()
|
||||
.assertValues(ByteBuffer.wrap("foo".getBytes()),
|
||||
ByteBuffer.wrap("bar".getBytes()));
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValues(ByteBuffer.wrap("foo".getBytes()), ByteBuffer.wrap("bar".getBytes()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,8 +64,8 @@ public class ByteBufferEncoderTests extends AbstractDataBufferAllocatingTestCase
|
|||
Flux<DataBuffer> output = this.encoder.encode(source, this.dataBufferFactory,
|
||||
ResolvableType.forClassWithGenerics(Publisher.class, ByteBuffer.class),
|
||||
null);
|
||||
TestSubscriber<DataBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output)
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValuesWith(b -> {
|
||||
byte[] buf = new byte[3];
|
||||
b.read(buf);
|
||||
|
|
|
@ -47,8 +47,9 @@ public class JacksonJsonDecoderTests extends AbstractDataBufferAllocatingTestCas
|
|||
Flux.just(stringBuffer("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}"));
|
||||
Flux<Object> output =
|
||||
this.decoder.decode(source, ResolvableType.forClass(Pojo.class), null);
|
||||
TestSubscriber<Object> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).assertValues(new Pojo("foofoo", "barbar"));
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValues(new Pojo("foofoo", "barbar"));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -53,11 +53,11 @@ public class JacksonJsonEncoderTests extends AbstractDataBufferAllocatingTestCas
|
|||
Flux<DataBuffer> output =
|
||||
this.encoder.encode(source, this.dataBufferFactory, null, null);
|
||||
|
||||
TestSubscriber<DataBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).
|
||||
assertComplete().
|
||||
assertNoError().
|
||||
assertValuesWith(stringConsumer("["),
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertComplete()
|
||||
.assertNoError()
|
||||
.assertValuesWith(stringConsumer("["),
|
||||
stringConsumer("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}"),
|
||||
stringConsumer(","),
|
||||
stringConsumer("{\"foo\":\"foofoofoo\",\"bar\":\"barbarbar\"}"),
|
||||
|
|
|
@ -88,11 +88,11 @@ public class Jaxb2DecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
.decode(Flux.just(stringBuffer(POJO_ROOT)), null, null);
|
||||
Flux<List<XMLEvent>> result = this.decoder.split(xmlEvents, new QName("pojo"));
|
||||
|
||||
TestSubscriber<List<XMLEvent>> resultSubscriber = new TestSubscriber<>();
|
||||
resultSubscriber.bindTo(result).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(events -> {
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(events -> {
|
||||
assertEquals(8, events.size());
|
||||
assertStartElement(events.get(0), "pojo");
|
||||
assertStartElement(events.get(1), "foo");
|
||||
|
@ -113,11 +113,11 @@ public class Jaxb2DecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
.decode(Flux.just(stringBuffer(POJO_CHILD)), null, null);
|
||||
Flux<List<XMLEvent>> result = this.decoder.split(xmlEvents, new QName("pojo"));
|
||||
|
||||
TestSubscriber<List<XMLEvent>> resultSubscriber = new TestSubscriber<>();
|
||||
resultSubscriber.bindTo(result).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(events -> {
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(events -> {
|
||||
assertEquals(8, events.size());
|
||||
assertStartElement(events.get(0), "pojo");
|
||||
assertStartElement(events.get(1), "foo");
|
||||
|
@ -161,14 +161,11 @@ public class Jaxb2DecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<Object> output =
|
||||
this.decoder.decode(source, ResolvableType.forClass(Pojo.class), null);
|
||||
|
||||
TestSubscriber<Object> testSubscriber = new TestSubscriber<>();
|
||||
|
||||
testSubscriber.bindTo(output).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValues(new Pojo("foofoo", "barbar")
|
||||
|
||||
);
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValues(new Pojo("foofoo", "barbar"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -177,14 +174,11 @@ public class Jaxb2DecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<Object> output = this.decoder
|
||||
.decode(source, ResolvableType.forClass(TypePojo.class), null);
|
||||
|
||||
TestSubscriber<Object> testSubscriber = new TestSubscriber<>();
|
||||
|
||||
testSubscriber.bindTo(output).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValues(new TypePojo("foofoo", "barbar")
|
||||
|
||||
);
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValues(new TypePojo("foofoo", "barbar"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -193,14 +187,11 @@ public class Jaxb2DecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<Object> output =
|
||||
this.decoder.decode(source, ResolvableType.forClass(Pojo.class), null);
|
||||
|
||||
TestSubscriber<Object> testSubscriber = new TestSubscriber<>();
|
||||
|
||||
testSubscriber.bindTo(output).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValues(new Pojo("foo", "bar"), new Pojo("foofoo", "barbar")
|
||||
|
||||
);
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValues(new Pojo("foo", "bar"), new Pojo("foofoo", "barbar"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -209,14 +200,11 @@ public class Jaxb2DecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<Object> output = this.decoder
|
||||
.decode(source, ResolvableType.forClass(TypePojo.class), null);
|
||||
|
||||
TestSubscriber<Object> testSubscriber = new TestSubscriber<>();
|
||||
|
||||
testSubscriber.bindTo(output).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValues(new TypePojo("foo", "bar"), new TypePojo("foofoo", "barbar")
|
||||
|
||||
);
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValues(new TypePojo("foo", "bar"), new TypePojo("foofoo", "barbar"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -73,8 +73,9 @@ public class Jaxb2EncoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<DataBuffer> output = this.encoder.encode(source, this.dataBufferFactory,
|
||||
ResolvableType.forClass(Pojo.class),
|
||||
MediaType.APPLICATION_XML);
|
||||
TestSubscriber<DataBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).assertValuesWith(dataBuffer -> {
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValuesWith(dataBuffer -> {
|
||||
try {
|
||||
String s = DataBufferTestUtils
|
||||
.dumpString(dataBuffer, StandardCharsets.UTF_8);
|
||||
|
|
|
@ -38,8 +38,8 @@ public class JsonObjectDecoderTests extends AbstractDataBufferAllocatingTestCase
|
|||
Flux.just(stringBuffer("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}"));
|
||||
Flux<String> output =
|
||||
decoder.decode(source, null, null).map(JsonObjectDecoderTests::toString);
|
||||
TestSubscriber<String> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output)
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValues("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}");
|
||||
}
|
||||
|
||||
|
@ -50,8 +50,8 @@ public class JsonObjectDecoderTests extends AbstractDataBufferAllocatingTestCase
|
|||
stringBuffer(", \"bar\": \"barbar\"}"));
|
||||
Flux<String> output =
|
||||
decoder.decode(source, null, null).map(JsonObjectDecoderTests::toString);
|
||||
TestSubscriber<String> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output)
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValues("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}");
|
||||
}
|
||||
|
||||
|
@ -62,8 +62,8 @@ public class JsonObjectDecoderTests extends AbstractDataBufferAllocatingTestCase
|
|||
"[{\"foo\": \"foofoo\", \"bar\": \"barbar\"},{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}]"));
|
||||
Flux<String> output =
|
||||
decoder.decode(source, null, null).map(JsonObjectDecoderTests::toString);
|
||||
TestSubscriber<String> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output)
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValues("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}",
|
||||
"{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}");
|
||||
}
|
||||
|
@ -76,8 +76,8 @@ public class JsonObjectDecoderTests extends AbstractDataBufferAllocatingTestCase
|
|||
": \"barbar\"},{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}]"));
|
||||
Flux<String> output =
|
||||
decoder.decode(source, null, null).map(JsonObjectDecoderTests::toString);
|
||||
TestSubscriber<String> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output)
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValues("{\"foo\": \"foofoo\", \"bar\": \"barbar\"}",
|
||||
"{\"foo\": \"foofoofoo\", \"bar\": \"barbarbar\"}");
|
||||
}
|
||||
|
|
|
@ -64,11 +64,11 @@ public class ResourceDecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<Resource> result = this.decoder
|
||||
.decode(source, ResolvableType.forClass(Resource.class), null);
|
||||
|
||||
TestSubscriber<Resource> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(result).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(resource -> {
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(resource -> {
|
||||
try {
|
||||
byte[] bytes =
|
||||
StreamUtils.copyToByteArray(resource.getInputStream());
|
||||
|
|
|
@ -66,8 +66,10 @@ public class ResourceEncoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
ResolvableType.forClass(Resource.class),
|
||||
null);
|
||||
|
||||
TestSubscriber<DataBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).assertNoError().assertComplete()
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(stringConsumer(s));
|
||||
|
||||
}
|
||||
|
|
|
@ -65,11 +65,11 @@ public class StringDecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux.just(stringBuffer("foo"), stringBuffer("bar"), stringBuffer("baz"));
|
||||
Flux<String> output =
|
||||
this.decoder.decode(source, ResolvableType.forClass(String.class), null);
|
||||
TestSubscriber<String> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValues("foo", "bar", "baz");
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValues("foo", "bar", "baz");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -79,21 +79,21 @@ public class StringDecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<DataBuffer> source = Flux.just(fooBar, baz);
|
||||
Flux<String> output =
|
||||
decoder.decode(source, ResolvableType.forClass(String.class), null);
|
||||
TestSubscriber<String> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValues("foo", "bar", "baz");
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValues("foo", "bar", "baz");
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void decodeEmpty() throws InterruptedException {
|
||||
Flux<DataBuffer> source = Flux.just(stringBuffer(""));
|
||||
Flux<String> output =
|
||||
this.decoder.decode(source, ResolvableType.forClass(String.class), null);
|
||||
TestSubscriber<String> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).assertValues("");
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValues("");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -66,8 +66,9 @@ public class StringEncoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
DataBufferUtils.release(chunk);
|
||||
return new String(b, StandardCharsets.UTF_8);
|
||||
});
|
||||
TestSubscriber<String> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(output).assertValues("foo");
|
||||
TestSubscriber
|
||||
.subscribe(output)
|
||||
.assertValues("foo");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,11 +46,11 @@ public class XmlEventDecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<XMLEvent> events =
|
||||
this.decoder.decode(Flux.just(stringBuffer(XML)), null, null);
|
||||
|
||||
TestSubscriber<XMLEvent> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(events).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(e -> assertTrue(e.isStartDocument()),
|
||||
TestSubscriber
|
||||
.subscribe(events)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(e -> assertTrue(e.isStartDocument()),
|
||||
e -> assertStartElement(e, "pojo"),
|
||||
e -> assertStartElement(e, "foo"),
|
||||
e -> assertCharacters(e, "foofoo"),
|
||||
|
@ -68,11 +68,11 @@ public class XmlEventDecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
Flux<XMLEvent> events =
|
||||
this.decoder.decode(Flux.just(stringBuffer(XML)), null, null);
|
||||
|
||||
TestSubscriber<XMLEvent> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(events).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(e -> assertTrue(e.isStartDocument()),
|
||||
TestSubscriber
|
||||
.subscribe(events)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(e -> assertTrue(e.isStartDocument()),
|
||||
e -> assertStartElement(e, "pojo"),
|
||||
e -> assertStartElement(e, "foo"),
|
||||
e -> assertCharacters(e, "foofoo"),
|
||||
|
@ -98,5 +98,4 @@ public class XmlEventDecoderTests extends AbstractDataBufferAllocatingTestCase {
|
|||
assertEquals(expectedData, event.asCharacters().getData());
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -47,11 +47,12 @@ public class DataBufferUtilsTests extends AbstractDataBufferAllocatingTestCase {
|
|||
|
||||
Flux<DataBuffer> flux = DataBufferUtils.read(channel, this.dataBufferFactory, 4);
|
||||
|
||||
TestSubscriber<DataBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(flux).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(stringConsumer("foo\n"), stringConsumer("bar\n"),
|
||||
TestSubscriber
|
||||
.subscribe(flux)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(
|
||||
stringConsumer("foo\n"), stringConsumer("bar\n"),
|
||||
stringConsumer("baz\n"), stringConsumer("qux\n"));
|
||||
|
||||
assertFalse(channel.isOpen());
|
||||
|
@ -65,11 +66,12 @@ public class DataBufferUtilsTests extends AbstractDataBufferAllocatingTestCase {
|
|||
|
||||
Flux<DataBuffer> flux = DataBufferUtils.read(channel, this.dataBufferFactory, 3);
|
||||
|
||||
TestSubscriber<DataBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(flux).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(stringConsumer("foo"), stringConsumer("\nba"),
|
||||
TestSubscriber
|
||||
.subscribe(flux)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(
|
||||
stringConsumer("foo"), stringConsumer("\nba"),
|
||||
stringConsumer("r\nb"), stringConsumer("az\n"),
|
||||
stringConsumer("qux"), stringConsumer("\n"));
|
||||
|
||||
|
@ -83,11 +85,12 @@ public class DataBufferUtilsTests extends AbstractDataBufferAllocatingTestCase {
|
|||
|
||||
Flux<DataBuffer> flux = DataBufferUtils.read(is, this.dataBufferFactory, 4);
|
||||
|
||||
TestSubscriber<DataBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(flux).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(stringConsumer("foo\n"), stringConsumer("bar\n"),
|
||||
TestSubscriber
|
||||
.subscribe(flux)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(
|
||||
stringConsumer("foo\n"), stringConsumer("bar\n"),
|
||||
stringConsumer("baz\n"), stringConsumer("qux\n"));
|
||||
}
|
||||
|
||||
|
@ -100,11 +103,11 @@ public class DataBufferUtilsTests extends AbstractDataBufferAllocatingTestCase {
|
|||
|
||||
Flux<DataBuffer> result = DataBufferUtils.takeUntilByteCount(flux, 5L);
|
||||
|
||||
TestSubscriber<DataBuffer> testSubscriber = new TestSubscriber<>();
|
||||
testSubscriber.bindTo(result).
|
||||
assertNoError().
|
||||
assertComplete().
|
||||
assertValuesWith(stringConsumer("foo"), stringConsumer("ba"));
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.assertNoError()
|
||||
.assertComplete()
|
||||
.assertValuesWith(stringConsumer("foo"), stringConsumer("ba"));
|
||||
|
||||
release(baz);
|
||||
}
|
||||
|
|
|
@ -65,14 +65,14 @@ public class WebClientIntegrationTests {
|
|||
.perform(get(baseUrl.toString()))
|
||||
.extract(headers());
|
||||
|
||||
TestSubscriber<HttpHeaders> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
ts.awaitAndAssertNextValuesWith(
|
||||
httpHeaders -> {
|
||||
assertEquals(MediaType.TEXT_PLAIN, httpHeaders.getContentType());
|
||||
assertEquals(13L, httpHeaders.getContentLength());
|
||||
}
|
||||
).assertComplete();
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.awaitAndAssertNextValuesWith(
|
||||
httpHeaders -> {
|
||||
assertEquals(MediaType.TEXT_PLAIN, httpHeaders.getContentType());
|
||||
assertEquals(13L, httpHeaders.getContentLength());
|
||||
})
|
||||
.assertComplete();
|
||||
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
|
@ -92,9 +92,10 @@ public class WebClientIntegrationTests {
|
|||
.extract(body(String.class));
|
||||
|
||||
|
||||
TestSubscriber<String> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
ts.awaitAndAssertNextValues("Hello Spring!").assertComplete();
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.awaitAndAssertNextValues("Hello Spring!")
|
||||
.assertComplete();
|
||||
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
|
@ -114,12 +115,12 @@ public class WebClientIntegrationTests {
|
|||
.accept(MediaType.TEXT_PLAIN))
|
||||
.extract(response(String.class));
|
||||
|
||||
TestSubscriber<ResponseEntity<String>> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
ts.awaitAndAssertNextValuesWith((Consumer<ResponseEntity<String>>) response -> {
|
||||
assertEquals(200, response.getStatusCode().value());
|
||||
assertEquals(MediaType.TEXT_PLAIN, response.getHeaders().getContentType());
|
||||
assertEquals("Hello Spring!", response.getBody());
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.awaitAndAssertNextValuesWith((Consumer<ResponseEntity<String>>) response -> {
|
||||
assertEquals(200, response.getStatusCode().value());
|
||||
assertEquals(MediaType.TEXT_PLAIN, response.getHeaders().getContentType());
|
||||
assertEquals("Hello Spring!", response.getBody());
|
||||
});
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
|
@ -140,9 +141,10 @@ public class WebClientIntegrationTests {
|
|||
.accept(MediaType.APPLICATION_JSON))
|
||||
.extract(body(String.class));
|
||||
|
||||
TestSubscriber<String> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
ts.awaitAndAssertNextValues(content).assertComplete();
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.awaitAndAssertNextValues(content)
|
||||
.assertComplete();
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
assertEquals("/json", request.getPath());
|
||||
|
@ -161,9 +163,10 @@ public class WebClientIntegrationTests {
|
|||
.accept(MediaType.APPLICATION_JSON))
|
||||
.extract(body(Pojo.class));
|
||||
|
||||
TestSubscriber<Pojo> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
ts.awaitAndAssertNextValuesWith(p -> assertEquals("barbar", p.getBar())).assertComplete();
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.awaitAndAssertNextValuesWith(p -> assertEquals("barbar", p.getBar()))
|
||||
.assertComplete();
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
assertEquals("/pojo", request.getPath());
|
||||
|
@ -182,12 +185,13 @@ public class WebClientIntegrationTests {
|
|||
.accept(MediaType.APPLICATION_JSON))
|
||||
.extract(bodyStream(Pojo.class));
|
||||
|
||||
TestSubscriber<Pojo> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
ts.awaitAndAssertNextValuesWith(
|
||||
p -> assertThat(p.getBar(), Matchers.is("bar1")),
|
||||
p -> assertThat(p.getBar(), Matchers.is("bar2"))
|
||||
).assertValueCount(2).assertComplete();
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.awaitAndAssertNextValuesWith(
|
||||
p -> assertThat(p.getBar(), Matchers.is("bar1")),
|
||||
p -> assertThat(p.getBar(), Matchers.is("bar2")))
|
||||
.assertValueCount(2)
|
||||
.assertComplete();
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
assertEquals("/pojos", request.getPath());
|
||||
|
@ -206,14 +210,14 @@ public class WebClientIntegrationTests {
|
|||
.accept(MediaType.APPLICATION_JSON))
|
||||
.extract(responseStream(Pojo.class));
|
||||
|
||||
TestSubscriber<ResponseEntity<Flux<Pojo>>> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
ts.awaitAndAssertNextValuesWith(
|
||||
response -> {
|
||||
assertEquals(200, response.getStatusCode().value());
|
||||
assertEquals(MediaType.APPLICATION_JSON, response.getHeaders().getContentType());
|
||||
}
|
||||
).assertComplete();
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.awaitAndAssertNextValuesWith(
|
||||
response -> {
|
||||
assertEquals(200, response.getStatusCode().value());
|
||||
assertEquals(MediaType.APPLICATION_JSON, response.getHeaders().getContentType());
|
||||
})
|
||||
.assertComplete();
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
assertEquals("/pojos", request.getPath());
|
||||
|
@ -234,9 +238,10 @@ public class WebClientIntegrationTests {
|
|||
.accept(MediaType.APPLICATION_JSON))
|
||||
.extract(body(Pojo.class));
|
||||
|
||||
TestSubscriber<Pojo> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
ts.awaitAndAssertNextValuesWith(p -> assertEquals("BARBAR", p.getBar())).assertComplete();
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.awaitAndAssertNextValuesWith(p -> assertEquals("BARBAR", p.getBar()))
|
||||
.assertComplete();
|
||||
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
|
@ -257,11 +262,11 @@ public class WebClientIntegrationTests {
|
|||
.perform(get(baseUrl.toString()))
|
||||
.extract(body(String.class));
|
||||
|
||||
|
||||
TestSubscriber<String> ts = new TestSubscriber<>();
|
||||
result.subscribe(ts);
|
||||
// TODO: error message should be converted to a ClientException
|
||||
ts.await().assertError();
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.await()
|
||||
.assertError();
|
||||
|
||||
RecordedRequest request = server.takeRequest();
|
||||
assertEquals(1, server.getRequestCount());
|
||||
|
|
|
@ -38,7 +38,6 @@ import org.springframework.util.AntPathMatcher;
|
|||
import org.springframework.util.PathMatcher;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
import org.springframework.web.reactive.result.method.AbstractHandlerMethodMapping;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
import org.springframework.web.server.adapter.DefaultServerWebExchange;
|
||||
import org.springframework.web.server.session.WebSessionManager;
|
||||
|
@ -103,9 +102,9 @@ public class HandlerMethodMappingTests {
|
|||
this.mapping.registerMapping("/fo?", this.handler, this.method2);
|
||||
Mono<Object> result = this.mapping.getHandler(createExchange(HttpMethod.GET, "/foo"));
|
||||
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
result.subscribeWith(subscriber);
|
||||
subscriber.assertError(IllegalStateException.class);
|
||||
TestSubscriber
|
||||
.subscribe(result)
|
||||
.assertError(IllegalStateException.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -160,9 +160,9 @@ public class RequestMappingInfoHandlerMappingTests {
|
|||
this.handlerMapping.registerHandler(new UserController());
|
||||
Mono<Object> mono = this.handlerMapping.getHandler(exchange);
|
||||
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertError(NotAcceptableStatusException.class);
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertError(NotAcceptableStatusException.class);
|
||||
}
|
||||
|
||||
// SPR-8462
|
||||
|
@ -357,12 +357,12 @@ public class RequestMappingInfoHandlerMappingTests {
|
|||
|
||||
@SuppressWarnings("unchecked")
|
||||
private <T> void assertError(Mono<Object> mono, final Class<T> exceptionClass, final Consumer<T> consumer) {
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertErrorWith(ex -> {
|
||||
assertEquals(exceptionClass, ex.getClass());
|
||||
consumer.accept((T) ex);
|
||||
});
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertErrorWith(ex -> {
|
||||
assertEquals(exceptionClass, ex.getClass());
|
||||
consumer.accept((T) ex);
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
|
|
|
@ -96,9 +96,9 @@ public abstract class AbstractRequestAttributesArgumentResolverTests {
|
|||
public void resolve() throws Exception {
|
||||
MethodParameter param = initMethodParameter(0);
|
||||
Mono<Object> mono = this.resolver.resolveArgument(param, null, this.exchange);
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertError(ServerWebInputException.class);
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertError(ServerWebInputException.class);
|
||||
|
||||
Foo foo = new Foo();
|
||||
this.exchange.getAttributes().put("foo", foo);
|
||||
|
|
|
@ -116,9 +116,9 @@ public class CookieValueMethodArgumentResolverTests {
|
|||
@Test
|
||||
public void notFound() {
|
||||
Mono<Object> mono = resolver.resolveArgument(this.cookieParameter, null, this.exchange);
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertError(ServerWebInputException.class);
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertError(ServerWebInputException.class);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -98,9 +98,9 @@ public class PathVariableMethodArgumentResolverTests {
|
|||
@Test
|
||||
public void handleMissingValue() throws Exception {
|
||||
Mono<Object> mono = this.resolver.resolveArgument(this.paramNamedString, new ModelMap(), this.exchange);
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertError(ServerErrorException.class);
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertError(ServerErrorException.class);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
|
|
|
@ -90,9 +90,9 @@ public class RequestAttributeMethodArgumentResolverTests {
|
|||
public void resolve() throws Exception {
|
||||
MethodParameter param = initMethodParameter(0);
|
||||
Mono<Object> mono = this.resolver.resolveArgument(param, null, this.exchange);
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertError(ServerWebInputException.class);
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertError(ServerWebInputException.class);
|
||||
|
||||
Foo foo = new Foo();
|
||||
this.exchange.getAttributes().put("foo", foo);
|
||||
|
|
|
@ -184,9 +184,9 @@ public class RequestHeaderMethodArgumentResolverTests {
|
|||
@Test
|
||||
public void notFound() throws Exception {
|
||||
Mono<Object> mono = resolver.resolveArgument(paramNamedValueStringArray, null, this.exchange);
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertError(ServerWebInputException.class);
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertError(ServerWebInputException.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -149,9 +149,9 @@ public class RequestParamMethodArgumentResolverTests {
|
|||
@Test
|
||||
public void missingRequestParam() throws Exception {
|
||||
Mono<Object> mono = this.resolver.resolveArgument(paramNamedStringArray, null, this.exchange);
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertError(ServerWebInputException.class);
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertError(ServerWebInputException.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -97,9 +97,9 @@ public class SessionAttributeMethodArgumentResolverTests {
|
|||
public void resolve() throws Exception {
|
||||
MethodParameter param = initMethodParameter(0);
|
||||
Mono<Object> mono = this.resolver.resolveArgument(param, null, this.exchange);
|
||||
TestSubscriber<Object> subscriber = new TestSubscriber<>();
|
||||
mono.subscribeWith(subscriber);
|
||||
subscriber.assertError(ServerWebInputException.class);
|
||||
TestSubscriber
|
||||
.subscribe(mono)
|
||||
.assertError(ServerWebInputException.class);
|
||||
|
||||
Foo foo = new Foo();
|
||||
when(this.session.getAttribute("foo")).thenReturn(Optional.of(foo));
|
||||
|
|
|
@ -172,7 +172,8 @@ public class HttpMessageConverterViewTests {
|
|||
|
||||
this.view.render(result, MediaType.APPLICATION_JSON, exchange);
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(response.getBody())
|
||||
TestSubscriber
|
||||
.subscribe(response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("{\"foo\":\"foo\",\"bar\":\"bar\"}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
Object value = new TestView("account");
|
||||
handle("/path", value, "handleView");
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
Object value = Mono.just(new TestView("account"));
|
||||
handle("/path", value, "handleMonoView");
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -140,8 +140,8 @@ public class ViewResolutionResultHandlerTests {
|
|||
Object value = "account";
|
||||
handle("/path", value, "handleString", new TestViewResolver("account"));
|
||||
|
||||
TestSubscriber<DataBuffer> subscriber = new TestSubscriber<>();
|
||||
subscriber.bindTo(this.response.getBody())
|
||||
TestSubscriber
|
||||
.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
Object value = Mono.just("account");
|
||||
handle("/path", value, "handleMonoString", new TestViewResolver("account"));
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
handle("/path", value, "handleString",
|
||||
new TestViewResolver("account"), new TestViewResolver("profile"));
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("profile: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -178,17 +178,17 @@ public class ViewResolutionResultHandlerTests {
|
|||
ViewResolver resolver = new TestViewResolver("account");
|
||||
|
||||
handle("/account", null, "handleString", resolver);
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
|
||||
handle("/account/", null, "handleString", resolver);
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
|
||||
handle("/account.123", null, "handleString", resolver);
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -198,7 +198,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
Object value = Mono.empty();
|
||||
handle("/account", value, "handleMonoString", new TestViewResolver("account"));
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
Model value = new ExtendedModelMap().addAttribute("name", "Joe");
|
||||
handle("/account", value, "handleModel", new TestViewResolver("account"));
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123, name=Joe}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -218,7 +218,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
Map<String, String> value = Collections.singletonMap("name", "Joe");
|
||||
handle("/account", value, "handleMap", new TestViewResolver("account"));
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123, name=Joe}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -228,7 +228,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
String value = "Joe";
|
||||
handle("/account", value, "handleModelAttributeAnnotation", new TestViewResolver("account"));
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123, name=Joe}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -238,7 +238,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
Object value = new TestBean("Joe");
|
||||
handle("/account", value, "handleTestBean", new TestViewResolver("account"));
|
||||
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("account: {id=123, testBean=TestBean[name=Joe]}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -258,7 +258,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
Collections.singletonList(jsonView));
|
||||
|
||||
assertEquals(MediaType.APPLICATION_JSON, this.response.getHeaders().getContentType());
|
||||
new TestSubscriber<DataBuffer>().bindTo(this.response.getBody())
|
||||
TestSubscriber.subscribe(this.response.getBody())
|
||||
.assertValuesWith(buf -> assertEquals("defaultView: {id=123}",
|
||||
DataBufferTestUtils.dumpString(buf, Charset.forName("UTF-8"))));
|
||||
}
|
||||
|
@ -315,8 +315,7 @@ public class ViewResolutionResultHandlerTests {
|
|||
|
||||
Mono<Void> mono = handler.handleResult(exchange, handlerResult);
|
||||
|
||||
TestSubscriber<Void> subscriber = new TestSubscriber<>();
|
||||
return subscriber.bindTo(mono).await(Duration.ofSeconds(1));
|
||||
return TestSubscriber.subscribe(mono).await(Duration.ofSeconds(1));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -128,13 +128,13 @@ public class FreeMarkerViewTests {
|
|||
HandlerResult result = new HandlerResult(new Object(), "", ResolvableType.NONE, model);
|
||||
view.render(result, null, this.exchange);
|
||||
|
||||
TestSubscriber<DataBuffer> subscriber = new TestSubscriber<>();
|
||||
subscriber.bindTo(this.response.getBody()).assertValuesWith(dataBuffer ->
|
||||
TestSubscriber
|
||||
.subscribe(this.response.getBody())
|
||||
.assertValuesWith(dataBuffer ->
|
||||
assertEquals("<html><body>hi FreeMarker</body></html>", asString(dataBuffer)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static String asString(DataBuffer dataBuffer) {
|
||||
ByteBuffer byteBuffer = dataBuffer.asByteBuffer();
|
||||
final byte[] bytes = new byte[byteBuffer.remaining()];
|
||||
|
|
Loading…
Reference in New Issue