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 2017/12/26 07:18:48 UTC

[incubator-servicecomb-java-chassis] 10/10: JAV-591 add test case for CompletableFuture>

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-java-chassis.git

commit 288ca9ba91e53f8a9264507c4d88167aa068a8c0
Author: wujimin <wu...@huawei.com>
AuthorDate: Sun Dec 24 03:29:58 2017 +0800

    JAV-591 add test case for CompletableFuture<ResponseEntity<String[]>>
---
 .../TestSpringmvcConsumerResponseMapperFactory.java  | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcConsumerResponseMapperFactory.java b/swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcConsumerResponseMapperFactory.java
index 224d37f..0a61b49 100644
--- a/swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcConsumerResponseMapperFactory.java
+++ b/swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcConsumerResponseMapperFactory.java
@@ -19,6 +19,7 @@ package io.servicecomb.swagger.invocation.springmvc.response;
 import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.List;
+import java.util.concurrent.CompletableFuture;
 
 import org.hamcrest.Matchers;
 import org.junit.Assert;
@@ -40,6 +41,10 @@ public class TestSpringmvcConsumerResponseMapperFactory {
   ResponseMapperFactorys<ConsumerResponseMapper> factorys =
       new ResponseMapperFactorys<>(ConsumerResponseMapperFactory.class, converterMgr);
 
+  public CompletableFuture<ResponseEntity<String[]>> asyncResponseEntityMethod() {
+    return null;
+  }
+
   public ResponseEntity<String[]> responseEntity() {
     return null;
   }
@@ -79,4 +84,19 @@ public class TestSpringmvcConsumerResponseMapperFactory {
     ResponseEntity<String[]> responseEntity = (ResponseEntity<String[]>) mapper.mapResponse(response);
     Assert.assertThat(responseEntity.getBody(), Matchers.arrayContaining("a", "b"));
   }
+
+  @Test
+  public void asyncResponseEntity() {
+    Method responseEntityMethod = ReflectUtils.findMethod(this.getClass(), "asyncResponseEntityMethod");
+    Method listMethod = ReflectUtils.findMethod(this.getClass(), "list");
+
+    ConsumerResponseMapper mapper = factorys
+        .createResponseMapper(listMethod.getGenericReturnType(), responseEntityMethod.getGenericReturnType());
+    Assert.assertThat(mapper, Matchers.instanceOf(SpringmvcConsumerResponseMapper.class));
+
+    Response response = Response.ok(Arrays.asList("a", "b"));
+    @SuppressWarnings("unchecked")
+    ResponseEntity<String[]> responseEntity = (ResponseEntity<String[]>) mapper.mapResponse(response);
+    Assert.assertThat(responseEntity.getBody(), Matchers.arrayContaining("a", "b"));
+  }
 }

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.