You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2018/01/05 01:15:52 UTC
[incubator-servicecomb-saga] 02/08: SCB-100 added context checking
on reactive
This is an automated email from the ASF dual-hosted git repository.
ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git
commit 22f2150c0ca759fa44e73db57c6ee42faf7b5db9
Author: seanyinx <se...@huawei.com>
AuthorDate: Wed Jan 3 11:38:21 2018 +0800
SCB-100 added context checking on reactive
Signed-off-by: seanyinx <se...@huawei.com>
---
omega/omega-spring-tx/pom.xml | 6 ++++++
.../spring/TransactionInterceptionTest.java | 24 ++++++++++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/omega/omega-spring-tx/pom.xml b/omega/omega-spring-tx/pom.xml
index 21661bb..815e080 100644
--- a/omega/omega-spring-tx/pom.xml
+++ b/omega/omega-spring-tx/pom.xml
@@ -76,6 +76,12 @@
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.reactivex.rxjava2</groupId>
+ <artifactId>rxjava</artifactId>
+ <version>2.1.8</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java
index 9ace53f..6dee1d8 100644
--- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java
+++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java
@@ -54,6 +54,9 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.junit4.SpringRunner;
+import io.reactivex.Flowable;
+import io.reactivex.schedulers.Schedulers;
+
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {TransactionTestMain.class, MessageConfig.class})
@AutoConfigureMockMvc
@@ -191,6 +194,27 @@ public class TransactionInterceptionTest {
);
}
+ @Test
+ public void passesOmegaContextThroughReactiveX() throws Exception {
+ User user = new User(username, email);
+
+ Flowable.just(user)
+ .parallel()
+ .runOn(Schedulers.io())
+ .doOnNext(userService::add)
+ .sequential()
+ .subscribe();
+
+ await().atMost(500, MILLISECONDS).until(() -> userRepository.findByUsername(username) != null);
+
+ assertArrayEquals(
+ new String[]{
+ new TxStartedEvent(globalTxId, localTxId, parentTxId, compensationMethod, user).toString(),
+ new TxEndedEvent(globalTxId, localTxId, parentTxId, compensationMethod).toString()},
+ toArray(messages)
+ );
+ }
+
private String[] toArray(List<String> messages) {
return messages.toArray(new String[messages.size()]);
}
--
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.