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 d300e17a6adc9df463d3b49a447818eed208e1b0
Author: KomachiSion <263976...@qq.com>
AuthorDate: Tue Aug 21 13:56:19 2018 +0800

    SCB-855 Support JDK7 in saga-format test
---
 .../saga/format/JacksonFromJsonFormatTest.java     | 80 ++++++++++++++++------
 .../saga/format/JacksonRestOperationTest.java      | 11 ++-
 .../saga/format/JsonRestSagaRequestTest.java       |  8 ++-
 .../saga/format/SagaEventFormatTest.java           |  9 ++-
 4 files changed, 79 insertions(+), 29 deletions(-)

diff --git 
a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java
 
b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java
index bbf7510..8214cc1 100644
--- 
a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java
+++ 
b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java
@@ -18,7 +18,6 @@
 package org.apache.servicecomb.saga.format;
 
 import static com.seanyinx.github.unit.scaffolding.Randomness.uniquify;
-import static java.util.Collections.emptyMap;
 import static java.util.Collections.singletonMap;
 import static org.hamcrest.Matchers.contains;
 import static org.hamcrest.core.Is.is;
@@ -27,12 +26,7 @@ import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.when;
 
 import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
+import java.util.*;
 
 import org.apache.servicecomb.saga.core.Operation;
 import org.apache.servicecomb.saga.core.SagaException;
@@ -158,6 +152,41 @@ public class JacksonFromJsonFormatTest {
   private final TransportFactory transportFactory = 
Mockito.mock(TransportFactory.class);
   private final FromJsonFormat<SagaDefinition> format = new 
JacksonFromJsonFormat(transportFactory);
 
+  private final Function<SagaRequest, String> getRequestId = new 
Function<SagaRequest, String>() {
+    @Override
+    public String apply(SagaRequest sagaRequest) {
+      return sagaRequest.id();
+    }
+  };
+
+  private final Function<SagaRequest, String> getRequestServiceName = new 
Function<SagaRequest, String>() {
+    @Override
+    public String apply(SagaRequest sagaRequest) {
+      return sagaRequest.serviceName();
+    }
+  };
+
+  private final Function<SagaRequest, String> getRequestType = new 
Function<SagaRequest, String>() {
+    @Override
+    public String apply(SagaRequest sagaRequest) {
+      return sagaRequest.type();
+    }
+  };
+
+  private final Function<SagaRequest, Integer> getCompensationRetries = new 
Function<SagaRequest, Integer>() {
+    @Override
+    public Integer apply(SagaRequest sagaRequest) {
+      return sagaRequest.compensation().retries();
+    }
+  };
+
+  private final Function<SagaRequest, String> getFallbackType = new 
Function<SagaRequest, String>() {
+    @Override
+    public String apply(SagaRequest sagaRequest) {
+      return sagaRequest.fallback().type();
+    }
+  };
+
   @Before
   public void setUp() throws Exception {
     when(transportFactory.restTransport()).thenReturn(restTransport);
@@ -166,23 +195,24 @@ public class JacksonFromJsonFormatTest {
         .thenReturn(response11);
     when(restTransport.with("aaa", "/rest/as", "delete", singletonMap("query", 
singletonMap("bar", "as"))))
         .thenReturn(response12);
-    when(restTransport.with("aaa", "/rest/as", "put", emptyMap()))
+    when(restTransport.with("aaa", "/rest/as", "put", Collections.<String, 
Map<String, String>>emptyMap()))
         .thenReturn(response13);
 
     when(restTransport
-        .with("bbb", "/rest/bs", "post", mapOf("query", singletonMap("foo", 
"bs"), "json", singletonMap("body", "{ \"bar\": \"bs\" }"))))
+        .with("bbb", "/rest/bs", "post",
+            mapOf("query", singletonMap("foo", "bs"), "json", 
singletonMap("body", "{ \"bar\": \"bs\" }"))))
         .thenReturn(response21);
-    when(restTransport.with("bbb", "/rest/bs", "delete", emptyMap()))
+    when(restTransport.with("bbb", "/rest/bs", "delete", Collections.<String, 
Map<String, String>>emptyMap()))
         .thenReturn(response22);
-    when(restTransport.with("bbb", "/rest/bs", "put", emptyMap()))
+    when(restTransport.with("bbb", "/rest/bs", "put", Collections.<String, 
Map<String, String>>emptyMap()))
         .thenReturn(response23);
 
     when(restTransport
         .with("ccc", "/rest/cs", "post", mapOf("query", singletonMap("foo", 
"cs"), "form", singletonMap("bar", "cs"))))
         .thenReturn(response31);
-    when(restTransport.with("ccc", "/rest/cs", "delete", emptyMap()))
+    when(restTransport.with("ccc", "/rest/cs", "delete", Collections.<String, 
Map<String, String>>emptyMap()))
         .thenReturn(response32);
-    when(restTransport.with("ccc", "/rest/cs", "put", emptyMap()))
+    when(restTransport.with("ccc", "/rest/cs", "put", Collections.<String, 
Map<String, String>>emptyMap()))
         .thenReturn(response33);
   }
 
@@ -190,12 +220,12 @@ public class JacksonFromJsonFormatTest {
   public void addTransportToDeserializedRequests() throws IOException {
     SagaRequest[] sagaRequests = format.fromJson(requests).requests();
 
-    assertThat(collect(sagaRequests, SagaRequest::id), contains("request-aaa", 
"request-bbb", "request-ccc"));
-    assertThat(collect(sagaRequests, SagaRequest::serviceName), 
contains("aaa", "bbb", "ccc"));
-    assertThat(collect(sagaRequests, SagaRequest::type), Matchers
+    assertThat(collect(sagaRequests, getRequestId), contains("request-aaa", 
"request-bbb", "request-ccc"));
+    assertThat(collect(sagaRequests, getRequestServiceName), contains("aaa", 
"bbb", "ccc"));
+    assertThat(collect(sagaRequests, getRequestType), Matchers
         .contains(Operation.TYPE_REST, Operation.TYPE_REST, 
Operation.TYPE_REST));
-    assertThat(collect(sagaRequests, (request) -> 
request.compensation().retries()), contains(3, 4, 5));
-    assertThat(collect(sagaRequests, (request) -> request.fallback().type()), 
Matchers
+    assertThat(collect(sagaRequests, getCompensationRetries), contains(3, 4, 
5));
+    assertThat(collect(sagaRequests, getFallbackType), Matchers
         .contains(Operation.TYPE_REST, Operation.TYPE_REST, 
Operation.TYPE_REST));
 
     SagaResponse response = sagaRequests[0].transaction().send("aaa");
@@ -226,7 +256,7 @@ public class JacksonFromJsonFormatTest {
 
     response = sagaRequests[2].fallback().send("ccc");
     assertThat(response, is(response33));
-    assertArrayEquals(new String[]{"request-aaa", "request-bbb"}, 
sagaRequests[2].parents());
+    assertArrayEquals(new String[] {"request-aaa", "request-bbb"}, 
sagaRequests[2].parents());
   }
 
   @Test
@@ -242,9 +272,11 @@ public class JacksonFromJsonFormatTest {
   }
 
   private <T> Collection<T> collect(SagaRequest[] requests, 
Function<SagaRequest, T> mapper) {
-    return Arrays.stream(requests)
-        .map(mapper)
-        .collect(Collectors.toList());
+    List<T> result = new LinkedList<T>();
+    for (SagaRequest request : requests) {
+      result.add(mapper.apply(request));
+    }
+    return result;
   }
 
   private Map<String, Map<String, String>> mapOf(
@@ -258,4 +290,8 @@ public class JacksonFromJsonFormatTest {
     map.put(key2, value2);
     return map;
   }
+
+  private interface Function<T, R> {
+    R apply(T t);
+  }
 }
diff --git 
a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonRestOperationTest.java
 
b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonRestOperationTest.java
index dc3274e..9241289 100644
--- 
a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonRestOperationTest.java
+++ 
b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonRestOperationTest.java
@@ -18,18 +18,19 @@
 package org.apache.servicecomb.saga.format;
 
 import static com.seanyinx.github.unit.scaffolding.Randomness.uniquify;
-import static java.util.Collections.emptyMap;
 import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertThat;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.servicecomb.saga.core.Operation;
 import org.apache.servicecomb.saga.core.SagaResponse;
 import org.apache.servicecomb.saga.transports.RestTransport;
+import org.apache.servicecomb.saga.transports.TransportFactory;
 import org.hamcrest.core.Is;
 import org.junit.Before;
 import org.junit.Test;
@@ -44,11 +45,13 @@ public class JacksonRestOperationTest {
   private final Map<String, Map<String, String>> params = new HashMap<>();
 
   private final RestTransport transport = Mockito.mock(RestTransport.class);
+  private final TransportFactory transportFactory = 
Mockito.mock(TransportFactory.class);
   private final JacksonRestOperation restOperation = new 
JacksonRestOperation(path, method, params);
 
   @Before
   public void setUp() throws Exception {
-    restOperation.with(() -> transport);
+    when(transportFactory.restTransport()).thenReturn(transport);
+    restOperation.with(transportFactory);
   }
 
   @Test
@@ -62,7 +65,9 @@ public class JacksonRestOperationTest {
     assertThat(response, Is.is(SagaResponse.EMPTY_RESPONSE));
 
     Map<String, Map<String, String>> updatedParams = argumentCaptor.getValue();
-    assertThat(updatedParams.getOrDefault("form", emptyMap()).get("response"), 
Is.is(Operation.SUCCESSFUL_SAGA_RESPONSE.body()));
+    assertThat(null == updatedParams.get("form") ? Collections.<String, 
String>emptyMap().get("response")
+            : updatedParams.get("form").get("response")
+        , Is.is(Operation.SUCCESSFUL_SAGA_RESPONSE.body()));
     assertThat(params.isEmpty(), is(true));
   }
 }
diff --git 
a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java
 
b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java
index c727ccb..4ef870c 100644
--- 
a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java
+++ 
b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java
@@ -29,6 +29,8 @@ import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import java.util.Map;
+
 import org.apache.servicecomb.saga.transports.TransportFactory;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -74,7 +76,11 @@ public class JsonRestSagaRequestTest {
 
     request.fallback().send(uniquify("blah"));
 
-    verify(restTransport, never()).with(anyString(), anyString(), anyString(), 
anyMap());
+    verify(restTransport, never()).with(anyString(), anyString(), anyString(), 
anyStringMap());
+  }
+
+  private Map<String, Map<String, String>> anyStringMap() {
+    return anyMap();
   }
 
   private JsonRestSagaRequest newSagaRequest(
diff --git 
a/saga-format/src/test/java/org/apache/servicecomb/saga/format/SagaEventFormatTest.java
 
b/saga-format/src/test/java/org/apache/servicecomb/saga/format/SagaEventFormatTest.java
index 9bad69c..70bc4b8 100644
--- 
a/saga-format/src/test/java/org/apache/servicecomb/saga/format/SagaEventFormatTest.java
+++ 
b/saga-format/src/test/java/org/apache/servicecomb/saga/format/SagaEventFormatTest.java
@@ -28,6 +28,9 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import java.util.Collections;
+import java.util.Map;
+
 import org.apache.servicecomb.saga.core.JacksonToJsonFormat;
 import org.apache.servicecomb.saga.core.SagaRequest;
 import org.apache.servicecomb.saga.core.SagaRequestImpl;
@@ -65,7 +68,7 @@ public class SagaEventFormatTest {
       TYPE_REST,
       new JacksonRestTransaction("/rest/xxx", "POST", singletonMap("query", 
singletonMap("foo", "xxx"))),
       new JacksonRestCompensation("/rest/xxx", "DELETE", singletonMap("query", 
singletonMap("bar", "xxx"))),
-      new JacksonRestFallback(TYPE_REST, "/rest/xxx", "PUT", emptyMap())
+      new JacksonRestFallback(TYPE_REST, "/rest/xxx", "PUT", 
Collections.<String, Map<String, String>>emptyMap())
   );
 
   private final RestTransport restTransport = 
Mockito.mock(RestTransport.class);
@@ -140,7 +143,7 @@ public class SagaEventFormatTest {
     assertThat(((TransactionCompensatedEvent) sagaEvent).response(), 
eqToResponse(response));
   }
 
-  private static Matcher<SagaRequest> eqToRequest(SagaRequest expected) {
+  private static Matcher<SagaRequest> eqToRequest(final SagaRequest expected) {
     return new TypeSafeMatcher<SagaRequest>() {
       @Override
       protected boolean matchesSafely(SagaRequest request) {
@@ -162,7 +165,7 @@ public class SagaEventFormatTest {
 
   }
 
-  private static Matcher<SagaResponse> eqToResponse(SagaResponse expected) {
+  private static Matcher<SagaResponse> eqToResponse(final SagaResponse 
expected) {
     return new TypeSafeMatcher<SagaResponse>() {
       @Override
       protected boolean matchesSafely(SagaResponse response) {

Reply via email to