[ 
https://issues.apache.org/jira/browse/SCB-970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16659461#comment-16659461
 ] 

ASF GitHub Bot commented on SCB-970:
------------------------------------

heyile closed pull request #963: [SCB-970] 970 move long short to it-tests
URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/963
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java
 
b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java
index 54c6285cc..6e48bf3f0 100644
--- 
a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java
+++ 
b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java
@@ -50,6 +50,14 @@
 
     float floatAdd(float num1, float num2);
 
+    long longBody(long input);
+
+    long longAdd(long num1, long num2);
+
+    short shortBody(short input);
+
+    short shortAdd(short num1, short num2);
+
     Color enumBody(Color color);
   }
 
@@ -113,6 +121,36 @@
 
     float floatAdd(float num1, float num2);
 
+    //long
+    long longPath(long input);
+
+    long longQuery(long input);
+
+    long longHeader(long input);
+
+    long longCookie(long input);
+
+    long longBody(long input);
+
+    long longForm(long input);
+
+    long longAdd(long num1, long num2);
+
+    //short
+    short shortPath(short input);
+
+    short shortQuery(short input);
+
+    short shortHeader(short input);
+
+    short shortCookie(short input);
+
+    short shortBody(short input);
+
+    short shortForm(short input);
+
+    short shortAdd(short num1, short num2);
+
     // enum
     Color enumBody(Color color);
 
@@ -1075,6 +1113,461 @@ public void enumBody_springmvc_intf() {
     assertEquals(Color.BLUE, 
consumersSpringmvc.getIntf().enumBody(Color.BLUE));
   }
 
+  //long
+  @Test
+  public void long_pojo_intf() {
+    assertEquals(100L, consumersPojo.getIntf().longBody(100L));
+  }
+
+  @Test
+  public void long_pojo_rt() {
+    Map<String, Long> map = new HashMap<>();
+    map.put("input", 100L);
+    assertEquals(100L, (long) 
consumersPojo.getSCBRestTemplate().postForObject("/longBody", map, long.class));
+  }
+
+  @Test
+  public void longAdd_pojo_intf() {
+    assertEquals(300L, consumersPojo.getIntf().longAdd(100L, 200L));
+  }
+
+  @Test
+  public void longAdd_pojo_rt() {
+    Map<String, Long> map = new HashMap<>();
+    map.put("num1", 100L);
+    map.put("num2", 200L);
+    assertEquals(300L, (long) 
consumersPojo.getSCBRestTemplate().postForObject("/longAdd", map, long.class));
+  }
+
+  @Test
+  public void longPath_jaxrs_intf() {
+    assertEquals(100L, consumersJaxrs.getIntf().longPath(100L));
+  }
+
+  @Test
+  public void longPath_jaxrs_rt() {
+    assertEquals(100L, (long) 
consumersJaxrs.getSCBRestTemplate().getForObject("/longPath/100", long.class));
+  }
+
+  @Test
+  public void longQuery_jaxrs_intf() {
+    assertEquals(100L, consumersJaxrs.getIntf().longQuery(100L));
+  }
+
+  @Test
+  public void longQuery_jaxrs_rt() {
+    assertEquals(100L,
+        (long) 
consumersJaxrs.getSCBRestTemplate().getForObject("/longQuery?input=100", 
long.class));
+  }
+
+  @Test
+  public void longHeader_jaxrs_intf() {
+    assertEquals(100L, consumersJaxrs.getIntf().longHeader(100L));
+  }
+
+  @Test
+  public void longHeader_jaxrs_rt() {
+    longHeader_rt(consumersJaxrs);
+  }
+
+  protected void longHeader_rt(Consumers
+      <DataTypeRestIntf> consumers) {
+    HttpHeaders headers = new HttpHeaders();
+    headers.add("input", "100");
+
+    @SuppressWarnings("rawtypes")
+    HttpEntity entity = new HttpEntity<>(null, headers);
+    ResponseEntity<Long> response = consumers.getSCBRestTemplate()
+        .exchange("/longHeader",
+            HttpMethod.GET,
+            entity,
+            long.class);
+    assertEquals(100L, (long) response.getBody());
+  }
+
+  @Test
+  public void longCookie_jaxrs_intf() {
+    assertEquals(100L, consumersJaxrs.getIntf().longCookie(100L));
+  }
+
+  @Test
+  public void longCookie_jaxrs_rt() {
+    longCookie_rt(consumersJaxrs);
+  }
+
+  void longCookie_rt(Consumers
+      <DataTypeRestIntf> consumers) {
+    HttpHeaders headers = new HttpHeaders();
+    headers.add("Cookie", "input=100");
+
+    @SuppressWarnings("rawtypes")
+    HttpEntity entity = new HttpEntity<>(null, headers);
+    ResponseEntity<Long> response = consumers.getSCBRestTemplate()
+        .exchange("/longCookie",
+            HttpMethod.GET,
+            entity,
+            long.class);
+    assertEquals(100L, (long) response.getBody());
+  }
+
+  @Test
+  public void longForm_jaxrs_intf() {
+    assertEquals(100L, consumersJaxrs.getIntf().longForm(100L));
+  }
+
+  @Test
+  public void longForm_jaxrs_rt() {
+    Map<String, Long> map = new HashMap<>();
+    map.put("input", 100L);
+    HttpEntity<Map<String, Long>> formEntiry = new HttpEntity<>(map);
+
+    assertEquals(100L,
+        (long) consumersJaxrs.getSCBRestTemplate().postForEntity("/longForm", 
formEntiry, long.class).getBody());
+    //just use map is ok
+    assertEquals(100L,
+        (long) consumersJaxrs.getSCBRestTemplate().postForEntity("/longForm", 
map, long.class).getBody()
+    );
+  }
+
+  @Test
+  public void longBody_jaxrs_intf() {
+    assertEquals(100L, consumersJaxrs.getIntf().longBody(100L));
+  }
+
+
+  @Test
+  public void longBody_jaxrs_rt() {
+    assertEquals(100L,
+        (long) consumersJaxrs.getSCBRestTemplate().postForObject("/longBody", 
100L, long.class));
+  }
+
+  @Test
+  public void longAdd_jaxrs_intf() {
+    assertEquals(300L, consumersJaxrs.getIntf().longAdd(100L, 200L));
+  }
+
+  @Test
+  public void longAdd_jaxrs_rt() {
+    assertEquals(300L,
+        (long) 
consumersJaxrs.getSCBRestTemplate().getForObject("/longAdd?num1=100&num2=200", 
long.class));
+  }
+
+  @Test
+  public void longPath_springmvc_intf() {
+    assertEquals(100L, consumersSpringmvc.getIntf().longPath(100L));
+  }
+
+  @Test
+  public void longPath_springmvc_rt() {
+    assertEquals(100L, (long) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/longPath/100", 
long.class));
+  }
+
+  @Test
+  public void longQuery_springmvc_intf() {
+    assertEquals(100L, consumersSpringmvc.getIntf().longQuery(100L));
+  }
+
+
+  @Test
+  public void longQuery_springmvc_rt() {
+    assertEquals(100L,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/longQuery?input=100", 
long.class));
+  }
+
+  @Test
+  public void longHeader_springmvc_intf() {
+    assertEquals(100L, consumersSpringmvc.getIntf().longHeader(100L));
+  }
+
+  @Test
+  public void longHeader_springmvc_rt() {
+    longHeader_rt(consumersSpringmvc);
+  }
+
+  @Test
+  public void longCookie_springmvc_intf() {
+    assertEquals(100L, consumersSpringmvc.getIntf().longCookie(100L));
+  }
+
+  @Test
+  public void longCookie_springmvc_rt() {
+    longCookie_rt(consumersSpringmvc);
+  }
+
+  @Test
+  public void longForm_springmvc_intf() {
+    assertEquals(100L, consumersSpringmvc.getIntf().longForm(100L));
+  }
+
+  @Test
+  public void longForm_springmvc_rt() {
+    Map<String, Long> map = new HashMap<>();
+    map.put("input", 100L);
+    HttpEntity<Map<String, Long>> formEntiry = new HttpEntity<>(map);
+
+    assertEquals(100L,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().postForEntity("/longForm", formEntiry, 
long.class).getBody());
+  }
+
+  @Test
+  public void longBody_springmvc_intf() {
+    assertEquals(100L, consumersSpringmvc.getIntf().longBody(100L));
+  }
+
+  @Test
+  public void longBody_springmvc_rt() {
+    assertEquals(100L,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/longBody", 100L, 
long.class));
+  }
+
+  @Test
+  public void longAdd_springmvc_intf() {
+    assertEquals(300L, consumersSpringmvc.getIntf().longAdd(100L, 200L));
+  }
+
+  @Test
+  public void longAdd_springmvc_rt() {
+    assertEquals(300L,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/longAdd?num1=100&num2=200",
 long.class));
+  }
+
+
+  @Test
+  public void short_pojo_rt() {
+    short num = 30;
+    Map<String, Short> map = new HashMap<>();
+    map.put("input", num);
+    assertEquals(num, (short) 
consumersPojo.getSCBRestTemplate().postForObject("/shortBody", map, 
short.class));
+  }
+
+
+  @Test
+  public void shortAdd_pojo_rt() {
+    short num1 = 30;
+    short num2 = 21;
+    short sum = 51;
+    Map<String, Short> map = new HashMap<>();
+    map.put("num1", num1);
+    map.put("num2", num2);
+    assertEquals(sum, (short) 
consumersPojo.getSCBRestTemplate().postForObject("/shortAdd", map, 
short.class));
+  }
+
+  @Test
+  public void shortPath_jaxrs_intf() {
+    short num = 30;
+    assertEquals(num, consumersJaxrs.getIntf().shortPath(num));
+  }
+
+  @Test
+  public void shortPath_jaxrs_rt() {
+    assertEquals(30, (short) 
consumersJaxrs.getSCBRestTemplate().getForObject("/shortPath/30", short.class));
+  }
+
+  @Test
+  public void shortQuery_jaxrs_intf() {
+    short num = 30;
+    assertEquals(num, consumersJaxrs.getIntf().shortQuery(num));
+  }
+
+  @Test
+  public void shortQuery_jaxrs_rt() {
+    short num = 30;
+    Map<String, Short> param = new HashMap<>();
+    param.put("input", num);
+
+    assertEquals(num,
+        (short) 
consumersJaxrs.getSCBRestTemplate().getForObject("/shortQuery?input={input}", 
short.class, param));
+  }
+
+  @Test
+  public void shortHeader_jaxrs_intf() {
+    short num = 30;
+    assertEquals(num, consumersJaxrs.getIntf().shortHeader(num));
+  }
+
+  @Test
+  public void shortHeader_jaxrs_rt() {
+    shortHeader_rt(consumersJaxrs);
+  }
+
+  protected void shortHeader_rt(Consumers
+      <DataTypeRestIntf> consumers) {
+    HttpHeaders headers = new HttpHeaders();
+    headers.add("input", "30");
+
+    @SuppressWarnings("rawtypes")
+    HttpEntity entity = new HttpEntity<>(null, headers);
+    ResponseEntity<Short> response = consumers.getSCBRestTemplate()
+        .exchange("/shortHeader",
+            HttpMethod.GET,
+            entity,
+            short.class);
+    assertEquals(30, (short) response.getBody());
+  }
+
+  @Test
+  public void shortCookie_jaxrs_intf() {
+    short num = 30;
+    assertEquals(num, consumersJaxrs.getIntf().shortCookie(num));
+  }
+
+  @Test
+  public void shortCookie_jaxrs_rt() {
+    shortCookie_rt(consumersJaxrs);
+  }
+
+  void shortCookie_rt(Consumers<DataTypeRestIntf> consumers) {
+    HttpHeaders headers = new HttpHeaders();
+    headers.add("Cookie", "input=30");
+    short num = 30;
+    @SuppressWarnings("rawtypes")
+    HttpEntity entity = new HttpEntity<>(null, headers);
+    ResponseEntity<Short> response = consumers.getSCBRestTemplate()
+        .exchange("/shortCookie",
+            HttpMethod.GET,
+            entity,
+            short.class);
+    assertEquals(num, (short) response.getBody());
+  }
+
+  @Test
+  public void shortForm_jaxrs_intf() {
+    short num = 30;
+    assertEquals(num, consumersJaxrs.getIntf().shortForm(num));
+  }
+
+  @Test
+  public void shortForm_jaxrs_rt() {
+    short num = 30;
+    Map<String, Short> map = new HashMap<>();
+    map.put("input", num);
+    HttpEntity<Map<String, Short>> formEntiry = new HttpEntity<>(map);
+
+    assertEquals(num,
+        (short) 
consumersJaxrs.getSCBRestTemplate().postForEntity("/shortForm", formEntiry, 
short.class).getBody());
+    //just use map is ok
+    assertEquals(num,
+        (short) 
consumersJaxrs.getSCBRestTemplate().postForEntity("/shortForm", map, 
short.class).getBody()
+    );
+  }
+
+  @Test
+  public void shortBody_jaxrs_intf() {
+    short num = 30;
+    assertEquals(num, consumersJaxrs.getIntf().shortBody(num));
+  }
+
+
+  @Test
+  public void shortBody_jaxrs_rt() {
+    short num = 30;
+    assertEquals(num, (short) 
consumersJaxrs.getSCBRestTemplate().postForObject("/shortBody", num, 
short.class));
+  }
+
+  @Test
+  public void shortAdd_jaxrs_intf() {
+    short num1 = 30;
+    short num2 = 21;
+    short sum = 51;
+    assertEquals(sum, consumersJaxrs.getIntf().shortAdd(num1, num2));
+  }
+
+  @Test
+  public void shortAdd_jaxrs_rt() {
+    assertEquals(51,
+        (short) 
consumersJaxrs.getSCBRestTemplate().getForObject("/shortAdd?num1=30&num2=21", 
short.class));
+  }
+
+  @Test
+  public void shortPath_springmvc_intf() {
+    short num = 30;
+    assertEquals(num, consumersSpringmvc.getIntf().shortPath(num));
+  }
+
+  @Test
+  public void shortPath_springmvc_rt() {
+    assertEquals(30, (short) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/shortPath/30", 
short.class));
+  }
+
+  @Test
+  public void shortQuery_springmvc_intf() {
+    short num = 30;
+    assertEquals(num, consumersSpringmvc.getIntf().shortQuery(num));
+  }
+
+
+  @Test
+  public void shortQuery_springmvc_rt() {
+    assertEquals(30,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/shortQuery?input=30", 
short.class));
+  }
+
+  @Test
+  public void shortHeader_springmvc_intf() {
+    short num = 30;
+    assertEquals(num, consumersSpringmvc.getIntf().shortHeader(num));
+  }
+
+  @Test
+  public void shortHeader_springmvc_rt() {
+    shortHeader_rt(consumersSpringmvc);
+  }
+
+  @Test
+  public void shortCookie_springmvc_intf() {
+    short num = 30;
+    assertEquals(num, consumersSpringmvc.getIntf().shortCookie(num));
+  }
+
+  @Test
+  public void shortCookie_springmvc_rt() {
+    shortCookie_rt(consumersSpringmvc);
+  }
+
+  @Test
+  public void shortForm_springmvc_intf() {
+    short num = 30;
+    assertEquals(num, consumersSpringmvc.getIntf().shortForm(num));
+  }
+
+  @Test
+  public void shortForm_springmvc_rt() {
+    short num = 30;
+    Map<String, Short> map = new HashMap<>();
+    map.put("input", num);
+    HttpEntity<Map<String, Short>> formEntiry = new HttpEntity<>(map);
+
+    assertEquals(num,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().postForEntity("/shortForm", formEntiry, 
short.class).getBody());
+  }
+
+  @Test
+  public void shortBody_springmvc_intf() {
+    short num = 30;
+    assertEquals(30, consumersSpringmvc.getIntf().shortBody(num));
+  }
+
+  @Test
+  public void shortBody_springmvc_rt() {
+    short num = 30;
+    assertEquals(num,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/shortBody", num, 
short.class));
+  }
+
+  @Test
+  public void shortAdd_springmvc_intf() {
+    short num1 = 30;
+    short num2 = 21;
+    short sum = 51;
+    assertEquals(sum, consumersSpringmvc.getIntf().shortAdd(num1, num2));
+  }
+
+  @Test
+  public void shortAdd_springmvc_rt() {
+    assertEquals(51,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/shortAdd?num1=30&num2=21",
 short.class));
+  }
+
   @Test
   public void enumBody_springmvc_rt() {
     assertEquals(Color.BLUE,
diff --git 
a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultValue.java
 
b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultValue.java
index d4ad947c5..7bdc54c94 100644
--- 
a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultValue.java
+++ 
b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDefaultValue.java
@@ -47,6 +47,20 @@
     float floatHeader(Float input);
 
     float floatForm(Float input);
+
+    //long
+    long longQuery(Long input);
+
+    long longHeader(Long input);
+
+    long longForm(Long input);
+
+    //short
+    short shortQuery(Short input);
+
+    short shortHeader(Short input);
+
+    short shortForm(Short input);
   }
 
   interface DefaultValueRequireIntf extends DefaultValueIntf {
@@ -73,6 +87,18 @@
     float floatHeaderRequire(Float input);
 
     float floatFormRequire(Float input);
+
+    long longQueryRequire(Long input);
+
+    long longHeaderRequire(Long input);
+
+    long longFormRequire(Long input);
+
+    short shortQueryRequire(Short input);
+
+    short shortHeaderRequire(Short input);
+
+    short shortFormRequire(Short input);
   }
 
   private String defaultStr = "string";
@@ -83,6 +109,10 @@
 
   private float defaultFloat = 10.2f;
 
+  private long defaultLong = 1000L;
+
+  private short defaultShort = 28;
+
   private static Consumers<DefaultValueIntf> consumersJaxrs = new 
Consumers<>("defaultValueJaxrs",
       DefaultValueIntf.class);
 
@@ -480,4 +510,205 @@ public void floatForm_require_springmvc_rt() {
     assertEquals(defaultFloat,
         
consumersSpringmvc.getSCBRestTemplate().postForObject("/floatFormRequire", 
null, float.class), 0.0f);
   }
+
+  //long
+
+  @Test
+  public void longQuery_jaxrs_intf() {
+    assertEquals(defaultLong, consumersJaxrs.getIntf().longQuery(null));
+  }
+
+  @Test
+  public void longQuery_jaxrs_rt() {
+    assertEquals(defaultLong, (long) 
consumersJaxrs.getSCBRestTemplate().getForObject("/longQuery", long.class));
+  }
+
+  @Test
+  public void longHeader_jaxrs_intf() {
+    assertEquals(defaultLong, consumersJaxrs.getIntf().longHeader(null));
+  }
+
+  @Test
+  public void longHeader_jaxrs_rt() {
+    assertEquals(defaultLong,
+        (long) consumersJaxrs.getSCBRestTemplate().getForObject("/longHeader", 
long.class));
+  }
+
+  @Test
+  public void longForm_jaxrs_intf() {
+    assertEquals(defaultLong, consumersJaxrs.getIntf().longForm(null));
+  }
+
+  @Test
+  public void longForm_jaxrs_rt() {
+    assertEquals(defaultLong,
+        (long) consumersJaxrs.getSCBRestTemplate().postForObject("/longForm", 
null, long.class));
+  }
+
+  @Test
+  public void longQuery_springmvc_intf() {
+    assertEquals(defaultLong, consumersSpringmvc.getIntf().longQuery(null));
+  }
+
+  @Test
+  public void longQuery_springmvc_rt() {
+    assertEquals(defaultLong,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/longQuery", long.class));
+  }
+
+  @Test
+  public void longHeader_springmvc_intf() {
+    assertEquals(defaultLong, consumersSpringmvc.getIntf().longHeader(null));
+  }
+
+  @Test
+  public void longHeader_springmvc_rt() {
+    assertEquals(defaultLong,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/longHeader", 
long.class));
+  }
+
+  @Test
+  public void longForm_springmvc_intf() {
+    assertEquals(defaultLong, consumersSpringmvc.getIntf().longForm(null));
+  }
+
+  @Test
+  public void longForm_springmvc_rt() {
+    assertEquals(defaultLong,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/longForm", null, 
long.class));
+  }
+
+  @Test
+  public void longQuery_require_springmvc_intf() {
+    assertEquals(defaultLong, 
consumersSpringmvc.getIntf().longQueryRequire(null));
+  }
+
+  @Test
+  public void longQuery_require_springmvc_rt() {
+    assertEquals(defaultLong,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/longQueryRequire", 
long.class));
+  }
+
+  @Test
+  public void longHeader_require_springmvc_intf() {
+    assertEquals(defaultLong, 
consumersSpringmvc.getIntf().longHeaderRequire(null));
+  }
+
+
+  @Test
+  public void longHeader_require_springmvc_rt() {
+    assertEquals(defaultLong,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/longHeaderRequire", 
long.class));
+  }
+
+  @Test
+  public void longForm_require_springmvc_intf() {
+    assertEquals(defaultLong, 
consumersSpringmvc.getIntf().longFormRequire(null));
+  }
+
+  @Test
+  public void longForm_require_springmvc_rt() {
+    assertEquals(defaultLong,
+        (long) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/longFormRequire", null, 
long.class));
+  }
+  //short
+
+  @Test
+  public void shortQuery_jaxrs_intf() {
+    assertEquals(defaultShort, consumersJaxrs.getIntf().shortQuery(null));
+  }
+
+  @Test
+  public void shortQuery_jaxrs_rt() {
+    assertEquals(defaultShort, (short) 
consumersJaxrs.getSCBRestTemplate().getForObject("/shortQuery", short.class));
+  }
+
+  @Test
+  public void shortHeader_jaxrs_intf() {
+    assertEquals(defaultShort, consumersJaxrs.getIntf().shortHeader(null));
+  }
+
+  @Test
+  public void shortHeader_jaxrs_rt() {
+    assertEquals(defaultShort,
+        (short) 
consumersJaxrs.getSCBRestTemplate().getForObject("/shortHeader", short.class));
+  }
+
+  @Test
+  public void shortForm_jaxrs_intf() {
+    assertEquals(defaultShort, consumersJaxrs.getIntf().shortForm(null));
+  }
+
+  @Test
+  public void shortForm_jaxrs_rt() {
+    assertEquals(defaultShort,
+        (short) 
consumersJaxrs.getSCBRestTemplate().postForObject("/shortForm", null, 
short.class));
+  }
+
+  @Test
+  public void shortQuery_springmvc_intf() {
+    assertEquals(defaultShort, consumersSpringmvc.getIntf().shortQuery(null));
+  }
+
+  @Test
+  public void shortQuery_springmvc_rt() {
+    assertEquals(defaultShort,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/shortQuery", 
short.class));
+  }
+
+  @Test
+  public void shortHeader_springmvc_intf() {
+    assertEquals(defaultShort, consumersSpringmvc.getIntf().shortHeader(null));
+  }
+
+  @Test
+  public void shortHeader_springmvc_rt() {
+    assertEquals(defaultShort,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/shortHeader", 
short.class));
+  }
+
+  @Test
+  public void shortForm_springmvc_intf() {
+    assertEquals(defaultShort, consumersSpringmvc.getIntf().shortForm(null));
+  }
+
+  @Test
+  public void shortForm_springmvc_rt() {
+    assertEquals(defaultShort,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/shortForm", null, 
short.class));
+  }
+
+  @Test
+  public void shortQuery_require_springmvc_intf() {
+    assertEquals(defaultShort, 
consumersSpringmvc.getIntf().shortQueryRequire(null));
+  }
+
+  @Test
+  public void shortQuery_require_springmvc_rt() {
+    assertEquals(defaultShort,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/shortQueryRequire", 
short.class));
+  }
+
+  @Test
+  public void shortHeader_require_springmvc_intf() {
+    assertEquals(defaultShort, 
consumersSpringmvc.getIntf().shortHeaderRequire(null));
+  }
+
+
+  @Test
+  public void shortHeader_require_springmvc_rt() {
+    assertEquals(defaultShort,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().getForObject("/shortHeaderRequire", 
short.class));
+  }
+
+  @Test
+  public void shortForm_require_springmvc_intf() {
+    assertEquals(defaultShort, 
consumersSpringmvc.getIntf().shortFormRequire(null));
+  }
+
+  @Test
+  public void shortForm_require_springmvc_rt() {
+    assertEquals(defaultShort,
+        (short) 
consumersSpringmvc.getSCBRestTemplate().postForObject("/shortFormRequire", 
null, short.class));
+  }
 }
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeJaxrsSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeJaxrsSchema.java
index 032a94b8f..78e934b32 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeJaxrsSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeJaxrsSchema.java
@@ -206,6 +206,92 @@ public float floatAdd(@QueryParam("num1") float num1, 
@QueryParam("num2") float
     return num1 + num2;
   }
 
+  //long
+  @Path("longPath/{input}")
+  @GET
+  public long longPath(@PathParam("input") long input) {
+    return input;
+  }
+
+  @Path("longQuery")
+  @GET
+  public long longQuery(@QueryParam("input") long input) {
+    return input;
+  }
+
+  @Path("longHeader")
+  @GET
+  public long longHeader(@HeaderParam("input") long input) {
+    return input;
+  }
+
+  @Path("longCookie")
+  @GET
+  public long longCookie(@CookieParam("input") long input) {
+    return input;
+  }
+
+  @Path("longForm")
+  @POST
+  public long longForm(@FormParam("input") long input) {
+    return input;
+  }
+
+  @Path("longBody")
+  @POST
+  public long longBody(long input) {
+    return input;
+  }
+
+  @Path("longAdd")
+  @GET
+  public long longAdd(@QueryParam("num1") long num1, @QueryParam("num2") long 
num2) {
+    return num1 + num2;
+  }
+
+  //short
+  @Path("shortPath/{input}")
+  @GET
+  public short shortPath(@PathParam("input") short input) {
+    return input;
+  }
+
+  @Path("shortQuery")
+  @GET
+  public short shortQuery(@QueryParam("input") short input) {
+    return input;
+  }
+
+  @Path("shortHeader")
+  @GET
+  public short shortHeader(@HeaderParam("input") short input) {
+    return input;
+  }
+
+  @Path("shortCookie")
+  @GET
+  public short shortCookie(@CookieParam("input") short input) {
+    return input;
+  }
+
+  @Path("shortForm")
+  @POST
+  public short shortForm(@FormParam("input") short input) {
+    return input;
+  }
+
+  @Path("shortBody")
+  @POST
+  public short shortBody(short input) {
+    return input;
+  }
+
+  @Path("shortAdd")
+  @GET
+  public short shortAdd(@QueryParam("num1") short num1, @QueryParam("num2") 
short num2) {
+    return (short) (num1 + num2);
+  }
+
   @Path("enumBody")
   @POST
   public Color enumBody(Color color) {
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypePojoSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypePojoSchema.java
index 23dc57591..ca14065cf 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypePojoSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypePojoSchema.java
@@ -56,6 +56,24 @@ public float floatAdd(float num1, float num2) {
     return num1 + num2;
   }
 
+  //long
+  public long longBody(long input) {
+    return input;
+  }
+
+  public long longAdd(long num1, long num2) {
+    return num1 + num2;
+  }
+
+  //short
+  public short shortBody(short input) {
+    return input;
+  }
+
+  public short shortAdd(short num1, short num2) {
+    return (short) (num1 + num2);
+  }
+
   public Color enumBody(Color color) {
     return color;
   }
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvcSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvcSchema.java
index 7c800b022..f4c1aaf8a 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvcSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DataTypeSpringmvcSchema.java
@@ -179,6 +179,78 @@ public float floatAdd(float num1, float num2) {
     return num1 + num2;
   }
 
+  //long
+  @GetMapping("longPath/{input}")
+  public long longPath(@PathVariable("input") long input) {
+    return input;
+  }
+
+  @GetMapping("longQuery")
+  public long longQuery(@RequestParam("input") long input) {
+    return input;
+  }
+
+  @GetMapping("longHeader")
+  public long longHeader(@RequestHeader("input") long input) {
+    return input;
+  }
+
+  @GetMapping("longCookie")
+  public long longCookie(@CookieValue("input") long input) {
+    return input;
+  }
+
+  @PostMapping("longForm")
+  public long longForm(@RequestAttribute("input") long input) {
+    return input;
+  }
+
+  @PostMapping("longBody")
+  public long longBody(@RequestBody long input) {
+    return input;
+  }
+
+  @GetMapping(path = "longAdd")
+  public long longAdd(long num1, long num2) {
+    return num1 + num2;
+  }
+
+  //short
+  @GetMapping("shortPath/{input}")
+  public short shortPath(@PathVariable("input") short input) {
+    return input;
+  }
+
+  @GetMapping("shortQuery")
+  public short shortQuery(@RequestParam("input") short input) {
+    return input;
+  }
+
+  @GetMapping("shortHeader")
+  public short shortHeader(@RequestHeader("input") short input) {
+    return input;
+  }
+
+  @GetMapping("shortCookie")
+  public short shortCookie(@CookieValue("input") short input) {
+    return input;
+  }
+
+  @PostMapping("shortForm")
+  public short shortForm(@RequestAttribute("input") short input) {
+    return input;
+  }
+
+  @PostMapping("shortBody")
+  public short shortBody(@RequestBody short input) {
+    return input;
+  }
+
+  @GetMapping(path = "shortAdd")
+  public short shortAdd(short num1, short num2) {
+    return (short) (num1 + num2);
+  }
+
   @PostMapping(path = "enumBody")
   public Color enumBody(@RequestBody Color color) {
     return color;
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueJaxrsSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueJaxrsSchema.java
index 3d9aa5757..33be63695 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueJaxrsSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueJaxrsSchema.java
@@ -101,4 +101,42 @@ public float floatHeader(@HeaderParam(value = "input") 
@DefaultValue("10.2") flo
   public float floatForm(@FormParam("input") @DefaultValue("10.2") float 
input) {
     return input;
   }
+
+  //long
+  @Path("longQuery")
+  @GET
+  public long longQuery(@QueryParam("input") @DefaultValue("1000") long input) 
{
+    return input;
+  }
+
+  @Path("longHeader")
+  @GET
+  public long longHeader(@HeaderParam(value = "input") @DefaultValue("1000") 
long input) {
+    return input;
+  }
+
+  @Path("longForm")
+  @POST
+  public long longForm(@FormParam("input") @DefaultValue("1000") long input) {
+    return input;
+  }
+
+  //short
+  @Path("shortQuery")
+  @GET
+  public short shortQuery(@QueryParam("input") @DefaultValue("28") short 
input) {
+    return input;
+  }
+
+  @Path("shortHeader")
+  @GET
+  public short shortHeader(@HeaderParam(value = "input") @DefaultValue("28") 
short input) {
+    return input;
+  }
+
+  @Path("shortForm")
+  @POST
+  public short shortForm(@FormParam("input") @DefaultValue("28") short input) {
+    return input;
+  }
 }
diff --git 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueSpringmvcSchema.java
 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueSpringmvcSchema.java
index 9ed160c41..23166669b 100644
--- 
a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueSpringmvcSchema.java
+++ 
b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DefaultValueSpringmvcSchema.java
@@ -180,4 +180,83 @@ public float floatHeaderRequire(@RequestHeader(name = 
"input", required = true,
   public float floatFormRequire(float input) {
     return input;
   }
+
+  //long
+
+  @GetMapping(path = "longQuery")
+  public long longQuery(@RequestParam(name = "input", required = false, 
defaultValue = "1000") long input) {
+    return input;
+  }
+
+  @GetMapping(path = "longHeader")
+  public long longHeader(@RequestHeader(name = "input", required = false, 
defaultValue = "1000") long input) {
+    return input;
+  }
+
+  @ApiImplicitParams({
+      @ApiImplicitParam(name = "input", dataType = "integer", format = 
"int64", paramType = "form", value = "", defaultValue = "1000",
+          required = false)})
+  @PostMapping(path = "longForm")
+  public long longForm(long input) {
+    return input;
+  }
+
+  // springmvc rule: required should be false because defaultValue have value
+  @GetMapping(path = "longQueryRequire")
+  public long longQueryRequire(@RequestParam(name = "input", required = true, 
defaultValue = "1000") long input) {
+    return input;
+  }
+
+  // springmvc rule: required should be false because defaultValue have value
+  @GetMapping(path = "longHeaderRequire")
+  public long longHeaderRequire(@RequestHeader(name = "input", required = 
true, defaultValue = "1000") long input) {
+    return input;
+  }
+
+  @ApiImplicitParams({
+      @ApiImplicitParam(name = "input", dataType = "integer", format = 
"int64", paramType = "form", value = "a required form param",
+          required = true, defaultValue = "1000")})
+  @PostMapping(path = "longFormRequire")
+  public long longFormRequire(long input) {
+    return input;
+  }
+
+  //short
+  @GetMapping(path = "shortQuery")
+  public short shortQuery(@RequestParam(name = "input", required = false, 
defaultValue = "28") short input) {
+    return input;
+  }
+
+  @GetMapping(path = "shortHeader")
+  public short shortHeader(@RequestHeader(name = "input", required = false, 
defaultValue = "28") short input) {
+    return input;
+  }
+
+  @ApiImplicitParams({
+      @ApiImplicitParam(name = "input", dataType = "integer", format = 
"int16", paramType = "form", value = "", defaultValue = "28",
+          required = false)})
+  @PostMapping(path = "shortForm")
+  public short shortForm(short input) {
+    return input;
+  }
+
+  // springmvc rule: required should be false because defaultValue have value
+  @GetMapping(path = "shortQueryRequire")
+  public short shortQueryRequire(@RequestParam(name = "input", required = 
true, defaultValue = "28") short input) {
+    return input;
+  }
+
+  // springmvc rule: required should be false because defaultValue have value
+  @GetMapping(path = "shortHeaderRequire")
+  public short shortHeaderRequire(@RequestHeader(name = "input", required = 
true, defaultValue = "28") short input) {
+    return input;
+  }
+
+  @ApiImplicitParams({
+      @ApiImplicitParam(name = "input", dataType = "integer", format = 
"int16", paramType = "form", value = "a required form param",
+          required = true, defaultValue = "28")})
+  @PostMapping(path = "shortFormRequire")
+  public short shortFormRequire(short input) {
+    return input;
+  }
 }
diff --git 
a/providers/provider-springmvc/src/main/java/org/springframework/web/client/CseHttpMessageConverter.java
 
b/providers/provider-springmvc/src/main/java/org/springframework/web/client/CseHttpMessageConverter.java
index 648cf8a73..c6ad4d9dc 100644
--- 
a/providers/provider-springmvc/src/main/java/org/springframework/web/client/CseHttpMessageConverter.java
+++ 
b/providers/provider-springmvc/src/main/java/org/springframework/web/client/CseHttpMessageConverter.java
@@ -22,6 +22,7 @@
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.servicecomb.foundation.common.utils.JsonUtils;
 import 
org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest;
 import 
org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse;
 import org.springframework.http.HttpInputMessage;
@@ -68,7 +69,7 @@ public Object read(Class<? extends Object> clazz,
     MessageBodyClientHttpResponseWrapper respWrapper = 
(MessageBodyClientHttpResponseWrapper) inputMessage;
     CseClientHttpResponse resp =
         (CseClientHttpResponse) ReflectionUtils.getField(RESPONSE_FIELD, 
respWrapper);
-    return resp.getResult();
+    return JsonUtils.convertValue(resp.getResult(), clazz);
   }
 
   @Override
diff --git 
a/providers/provider-springmvc/src/test/java/org/springframework/web/client/TestCseHttpMessageConverter.java
 
b/providers/provider-springmvc/src/test/java/org/springframework/web/client/TestCseHttpMessageConverter.java
index 23ee30dce..7335aae7c 100644
--- 
a/providers/provider-springmvc/src/test/java/org/springframework/web/client/TestCseHttpMessageConverter.java
+++ 
b/providers/provider-springmvc/src/test/java/org/springframework/web/client/TestCseHttpMessageConverter.java
@@ -39,7 +39,7 @@ public void testAll() {
     lCseHttpMessageConverter.getSupportedMediaTypes();
     try {
       lCseHttpMessageConverter.read(this.getClass(), null);
-    } catch (HttpMessageNotReadableException | IOException ignored) {
+    } catch (HttpMessageNotReadableException | IOException | 
ClassCastException ignored) {
     }
     try {
       HttpOutputMessage httpOutputMessage = 
Mockito.mock(CseClientHttpRequest.class);


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> [SCB-970] 970 move long short to it-tests
> -----------------------------------------
>
>                 Key: SCB-970
>                 URL: https://issues.apache.org/jira/browse/SCB-970
>             Project: Apache ServiceComb
>          Issue Type: Bug
>            Reporter: 何一乐
>            Assignee: 何一乐
>            Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to