You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2020/05/15 06:34:21 UTC
[servicecomb-java-chassis] branch master updated: [SCB-1896]improve
demo test case for testing http headers
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new 85a7f49 [SCB-1896]improve demo test case for testing http headers
85a7f49 is described below
commit 85a7f490417ac8637f47011021dd6379300c20a8
Author: liubao <bi...@qq.com>
AuthorDate: Thu May 14 21:44:34 2020 +0800
[SCB-1896]improve demo test case for testing http headers
---
.../demo/springmvc/client/CodeFirstSpringmvcIntf.java | 2 ++
.../demo/springmvc/client/TestResponse.java | 11 +++++++++++
.../demo/springmvc/server/CodeFirstSpringmvc.java | 19 +++++++++++++++++++
3 files changed, 32 insertions(+)
diff --git a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/CodeFirstSpringmvcIntf.java b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/CodeFirstSpringmvcIntf.java
index ec10b14..f7401c3 100644
--- a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/CodeFirstSpringmvcIntf.java
+++ b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/CodeFirstSpringmvcIntf.java
@@ -36,6 +36,8 @@ public interface CodeFirstSpringmvcIntf {
Response cseResponse();
+ Response cseResponseCorrect();
+
Object testObject(Object input);
EmptyObject testEmpty(EmptyObject input);
diff --git a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestResponse.java b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestResponse.java
index 039bb2e..f2b18c4 100644
--- a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestResponse.java
+++ b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestResponse.java
@@ -46,6 +46,7 @@ public class TestResponse {
checkQueryObject();
testCseResponse();
testResponseEntity();
+ testCseResponseCorrect();
}
public void runHighway() {
@@ -65,6 +66,16 @@ public class TestResponse {
TestMgr.check("User [name=nameA, age=100, index=0]", cseResponse.getResult());
TestMgr.check("h1v " + srcName, cseResponse.getHeaders().getFirst("h1"));
TestMgr.check("h2v " + srcName, cseResponse.getHeaders().getFirst("h2"));
+ TestMgr.check(cseResponse.getStatusCode(), 202);
+ }
+
+ private void testCseResponseCorrect() {
+ String srcName = RegistrationManager.INSTANCE.getMicroservice().getServiceName();
+ Response cseResponse = intf.cseResponseCorrect();
+ TestMgr.check("User [name=nameA, age=100, index=0]", cseResponse.getResult());
+ TestMgr.check("h1v " + srcName, cseResponse.getHeaders().getFirst("h1"));
+ TestMgr.check("h2v " + srcName, cseResponse.getHeaders().getFirst("h2"));
+ TestMgr.check(cseResponse.getStatusCode(), 202);
}
private void testResponseEntity() {
diff --git a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java
index 8093372..3ffe1a3 100644
--- a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java
+++ b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java
@@ -154,6 +154,8 @@ public class CodeFirstSpringmvc {
return responseEntity(c1, date);
}
+ // This definition is not correct, response type is not
+ // same as the actual one. May be not support in future.
@ApiResponse(code = 200, response = User.class, message = "")
@ResponseHeaders({@ResponseHeader(name = "h1", response = String.class),
@ResponseHeader(name = "h2", response = String.class)})
@@ -169,6 +171,23 @@ public class CodeFirstSpringmvc {
return response;
}
+ // This definition is correct, but not supported by highway.
+ // highway do not support define code other than 200
+ @ApiResponse(code = 202, response = User.class, message = "")
+ @ResponseHeaders({@ResponseHeader(name = "h1", response = String.class),
+ @ResponseHeader(name = "h2", response = String.class)})
+ @RequestMapping(path = "/cseResponseCorrect", method = RequestMethod.GET)
+ public Response cseResponseCorrect(InvocationContext c1) {
+ Response response = Response.createSuccess(Status.ACCEPTED, new User());
+ Headers headers = response.getHeaders();
+ headers.addHeader("h1", "h1v " + c1.getContext().get(Const.SRC_MICROSERVICE));
+
+ InvocationContext c2 = ContextUtils.getInvocationContext();
+ headers.addHeader("h2", "h2v " + c2.getContext().get(Const.SRC_MICROSERVICE));
+
+ return response;
+ }
+
@PostMapping(path = "/testUserMap")
public Map<String, User> testUserMap(@RequestBody Map<String, User> userMap) {
return userMap;