From dev-return-3564-archive-asf-public=cust-asf.ponee.io@servicecomb.apache.org Wed Apr 11 03:20:51 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 74F9318067B for ; Wed, 11 Apr 2018 03:20:51 +0200 (CEST) Received: (qmail 42690 invoked by uid 500); 11 Apr 2018 01:20:50 -0000 Mailing-List: contact dev-help@servicecomb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@servicecomb.apache.org Delivered-To: mailing list dev@servicecomb.apache.org Received: (qmail 42675 invoked by uid 99); 11 Apr 2018 01:20:50 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Apr 2018 01:20:50 +0000 From: GitBox To: dev@servicecomb.apache.org Subject: [GitHub] liubao68 commented on a change in pull request #627: [SCB-292] chassis support standard parameter validation Message-ID: <152340965002.2423.602222540799120880.gitbox@gitbox.apache.org> Date: Wed, 11 Apr 2018 01:20:50 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit liubao68 commented on a change in pull request #627: [SCB-292] chassis support standard parameter validation URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/627#discussion_r180611794 ########## File path: demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/JaxrsClient.java ########## @@ -147,4 +168,73 @@ private static void testRawJsonParam(RestTemplate template, String cseUrlPrefix) TestMgr.check("hello Tom", template.postForObject(cseUrlPrefix + "/compute/testrawjson", jsonPerson, String.class)); } + + private static void testValidatorAddFail(RestTemplate template, String cseUrlPrefix) { + Map params = new HashMap<>(); + params.put("a", "5"); + params.put("b", "3"); + boolean isExcep = false; + try { + template.postForObject(cseUrlPrefix + "add", params, Integer.class); + } catch (InvocationException e) { + isExcep = true; + TestMgr.check(490, e.getStatus().getStatusCode()); + } + + TestMgr.check(true, isExcep); + } + + private static void testValidatorAddSuccess(RestTemplate template, String cseUrlPrefix) { + Map params = new HashMap<>(); + params.put("a", "5"); + params.put("b", "20"); + int result = template.postForObject(cseUrlPrefix + "add", params, Integer.class); + TestMgr.check(25, result); + } + + private static void testValidatorSayHiFail(RestTemplate template, String cseUrlPrefix) { + boolean isExcep = false; + try { + template.exchange(cseUrlPrefix + "sayhi/{name}", HttpMethod.PUT, null, String.class, "te"); + } catch (InvocationException e) { + isExcep = true; + TestMgr.check(490, e.getStatus().getStatusCode()); + } + TestMgr.check(true, isExcep); + } + + private static void testValidatorSayHiSuccess(RestTemplate template, String cseUrlPrefix) { + ResponseEntity responseEntity = + template.exchange(cseUrlPrefix + "sayhi/{name}", HttpMethod.PUT, null, String.class, "world"); + TestMgr.check(202, responseEntity.getStatusCode()); + TestMgr.check("world sayhi", responseEntity.getBody()); + } + + private static void testValidatorExchangeFail(RestTemplate template, String cseUrlPrefix) { + HttpHeaders headers = new HttpHeaders(); + headers.add("Accept", MediaType.APPLICATION_JSON); + Student student = new Student(); + student.setName(""); + student.setAge(25); + boolean isExcep = false; + try { + HttpEntity requestEntity = new HttpEntity<>(student, headers); + template.exchange(cseUrlPrefix + "/sayhello", + HttpMethod.POST, + requestEntity, + Student.class); + } catch (InvocationException e) { + isExcep = true; + TestMgr.check(490, e.getStatus().getStatusCode()); Review comment: 490 error code exposes that consumer logic got some bad encapsulation. Maybe we need to find out the cause or leave a comment here and submit an improvement issue to fix later. ---------------------------------------------------------------- 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: users@infra.apache.org With regards, Apache Git Services