mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-26 17:09:05 +00:00
Add tests for cancellation of transactional streams
See gh-23864 Closes gh-23873
This commit is contained in:
+28
@@ -61,6 +61,34 @@ public class TransactionalOperatorTests {
|
||||
assertThat(cancelled).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cancellationPropagatedToMono() {
|
||||
AtomicBoolean cancelled = new AtomicBoolean();
|
||||
TransactionalOperator operator = TransactionalOperator.create(tm, new DefaultTransactionDefinition());
|
||||
Mono.create(sink -> sink.onCancel(() -> cancelled.set(true))).as(operator::transactional)
|
||||
.as(StepVerifier::create)
|
||||
.thenAwait()
|
||||
.thenCancel()
|
||||
.verify();
|
||||
assertThat(tm.commit).isTrue();
|
||||
assertThat(tm.rollback).isFalse();
|
||||
assertThat(cancelled).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cancellationPropagatedToFlux() {
|
||||
AtomicBoolean cancelled = new AtomicBoolean();
|
||||
TransactionalOperator operator = TransactionalOperator.create(tm, new DefaultTransactionDefinition());
|
||||
Flux.create(sink -> sink.onCancel(() -> cancelled.set(true))).as(operator::transactional)
|
||||
.as(StepVerifier::create)
|
||||
.thenAwait()
|
||||
.thenCancel()
|
||||
.verify();
|
||||
assertThat(tm.commit).isTrue();
|
||||
assertThat(tm.rollback).isFalse();
|
||||
assertThat(cancelled).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rollbackWithMono() {
|
||||
TransactionalOperator operator = TransactionalOperator.create(tm, new DefaultTransactionDefinition());
|
||||
|
||||
Reference in New Issue
Block a user