Review DataBufferUtils for error/cancellation memory leaks
Issue: SPR-17408
This commit is contained in:
@@ -412,6 +412,20 @@ public class DataBufferUtilsTests extends AbstractDataBufferAllocatingTestCase {
|
||||
.verify(Duration.ofSeconds(5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void takeUntilByteCountErrorInFlux() {
|
||||
DataBuffer foo = stringBuffer("foo");
|
||||
Flux<DataBuffer> flux =
|
||||
Flux.just(foo).concatWith(Mono.error(new RuntimeException()));
|
||||
|
||||
Flux<DataBuffer> result = DataBufferUtils.takeUntilByteCount(flux, 5L);
|
||||
|
||||
StepVerifier.create(result)
|
||||
.consumeNextWith(stringConsumer("foo"))
|
||||
.expectError(RuntimeException.class)
|
||||
.verify(Duration.ofSeconds(5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void takeUntilByteCountExact() {
|
||||
|
||||
@@ -444,6 +458,18 @@ public class DataBufferUtilsTests extends AbstractDataBufferAllocatingTestCase {
|
||||
.verify(Duration.ofSeconds(5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void skipUntilByteCountErrorInFlux() {
|
||||
DataBuffer foo = stringBuffer("foo");
|
||||
Flux<DataBuffer> flux =
|
||||
Flux.just(foo).concatWith(Mono.error(new RuntimeException()));
|
||||
Flux<DataBuffer> result = DataBufferUtils.skipUntilByteCount(flux, 3L);
|
||||
|
||||
StepVerifier.create(result)
|
||||
.expectError(RuntimeException.class)
|
||||
.verify(Duration.ofSeconds(5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void skipUntilByteCountShouldSkipAll() {
|
||||
DataBuffer foo = stringBuffer("foo");
|
||||
|
||||
Reference in New Issue
Block a user