Skip to content

Commit

Permalink
1.add com.rop.client.ClientRequest ,support Chain programming model£¬…
Browse files Browse the repository at this point in the history
…update the RopSampleClient and unit test.
  • Loading branch information
stamen committed Aug 7, 2012
1 parent 3776517 commit f79c67a
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 70 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,13 @@
*/
package com.rop.sample.client;

import com.rop.AbstractRopRequest;
import com.rop.RopRequest;
import com.rop.client.ClientRequest;
import com.rop.client.CompositeResponse;
import com.rop.client.DefaultRopClient;
import com.rop.sample.request.LogonRequest;
import com.rop.sample.request.TelephoneConverter;
import com.rop.sample.response.LogonResponse;

import java.util.List;
import java.util.Map;

/**
* <pre>
* 功能说明:
Expand Down Expand Up @@ -46,48 +42,23 @@ public RopSampleClient(String appKey,String secret) {
* @return
*/
public String logon(String userName, String password) {
ClientRequest cr = ropClient.buildClientRequest();
LogonRequest ropRequest = new LogonRequest();
ropRequest.setUserName("tomson");
ropRequest.setPassword("123456");
CompositeResponse response = ropClient.get(ropRequest, LogonResponse.class, "user.logon", "1.0");
CompositeResponse response = cr.get(ropRequest, LogonResponse.class, "user.logon", "1.0");
String sessionId = ((LogonResponse) response.getSuccessResponse()).getSessionId();
ropClient.setSessionId(sessionId);
return sessionId;
}

public void logout() {
RopRequest ropRequest = new AbstractRopRequest() {
};
ropClient.get(ropRequest, LogonResponse.class, "user.logout", "1.0");
}

public <T> CompositeResponse get(RopRequest ropRequest, Class<T> ropResponseClass,
String methodName, String version) {
return ropClient.get(ropRequest, ropResponseClass, methodName, version);
}

public <T> CompositeResponse post(RopRequest ropRequest, Class<T> ropResponseClass,
String methodName, String version) {
return ropClient.post(ropRequest, ropResponseClass, methodName, version);
}

public <T> CompositeResponse get(Map<String,Object> businessParams, Class<T> ropResponseClass,
String methodName, String version) {
return ropClient.get(businessParams, ropResponseClass, methodName, version);
}

public <T> CompositeResponse post(Map<String,Object> businessParams, Class<T> ropResponseClass,
String methodName, String version) {
return ropClient.post(businessParams, ropResponseClass, methodName, version);
}
public <T> CompositeResponse get(Map<String,Object> businessParams,List<String> ignoreSignParamNames, Class<T> ropResponseClass,
String methodName, String version) {
return ropClient.get(businessParams,ignoreSignParamNames, ropResponseClass, methodName, version);
ClientRequest cr = ropClient.buildClientRequest();
cr.get(LogonResponse.class, "user.logout", "1.0");
}

public <T> CompositeResponse post(Map<String,Object> businessParams,List<String> ignoreSignParamNames, Class<T> ropResponseClass,
String methodName, String version) {
return ropClient.post(businessParams,ignoreSignParamNames, ropResponseClass, methodName, version);
public ClientRequest buildClientRequest(){
return ropClient.buildClientRequest();
}
}

71 changes: 40 additions & 31 deletions rop-sample/src/test/java/com/rop/sample/UserServiceClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
package com.rop.sample;

import com.rop.MessageFormat;
import com.rop.client.ClientRequest;
import com.rop.client.CompositeResponse;
import com.rop.client.DefaultRopClient;
import com.rop.request.UploadFile;
Expand Down Expand Up @@ -48,7 +49,8 @@ public void createSession() {
LogonRequest ropRequest = new LogonRequest();
ropRequest.setUserName("tomson");
ropRequest.setPassword("123456");
CompositeResponse response = ropClient.get(ropRequest, LogonResponse.class, "user.getSession", "1.0");
ClientRequest cr = ropClient.buildClientRequest();
CompositeResponse response = cr.get(ropRequest, LogonResponse.class, "user.getSession", "1.0");
assertNotNull(response);
assertTrue(response.isSuccessful());
assertNotNull(response.getSuccessResponse());
Expand All @@ -59,11 +61,11 @@ public void createSession() {

@Test
public void createSessionWithParamMap() {
HashMap<String, Object> formMap = new HashMap<String, Object>();
formMap.put("userName","tomson");
formMap.put("password","123456");
CompositeResponse response = ropClient.buildClientRequest()
.addParam("userName", "tomson")
.addParam("password", "123456", true)
.get(LogonResponse.class, "user.getSession", "1.0");

CompositeResponse response = ropClient.get(formMap,Arrays.asList("password"),LogonResponse.class, "user.getSession", "1.0");
assertNotNull(response);
assertTrue(response.isSuccessful());
assertNotNull(response.getSuccessResponse());
Expand All @@ -73,13 +75,14 @@ public void createSessionWithParamMap() {

@Test
public void addUser() {
LogonRequest ropRequest = new LogonRequest();
ropRequest.setUserName("tomson");
ropRequest.setPassword("123456");
CompositeResponse response = ropClient.get(ropRequest, LogonResponse.class, "user.getSession", "1.0");
CompositeResponse response = ropClient.buildClientRequest()
.addParam("userName", "tomson")
.addParam("password", "123456", true)
.get(LogonResponse.class, "user.getSession", "1.0");
String sessionId = ((LogonResponse) response.getSuccessResponse()).getSessionId();
ropClient.setSessionId(sessionId);


CreateUserRequest createUserRequest = new CreateUserRequest();
createUserRequest.setUserName("katty");
createUserRequest.setSalary(2500L);
Expand All @@ -89,34 +92,36 @@ public void addUser() {
telephone.setTelephoneCode("12345678");
createUserRequest.setTelephone(telephone);

response = ropClient.post(createUserRequest, CreateUserResponse.class, "user.add", "1.0");
response = ropClient.buildClientRequest()
.post(createUserRequest, CreateUserResponse.class, "user.add", "1.0");
assertNotNull(response);
assertTrue(response.isSuccessful());
assertTrue(response.getSuccessResponse() instanceof CreateUserResponse);
}

@Test
public void addUserUseParamMap() {
LogonRequest ropRequest = new LogonRequest();
ropRequest.setUserName("tomson");
ropRequest.setPassword("123456");
CompositeResponse response = ropClient.get(ropRequest, LogonResponse.class, "user.getSession", "1.0");
CompositeResponse response = ropClient.buildClientRequest()
.addParam("userName", "tomson")
.addParam("password", "123456", true)
.get(LogonResponse.class, "user.getSession", "1.0");
String sessionId = ((LogonResponse) response.getSuccessResponse()).getSessionId();
ropClient.setSessionId(sessionId);

HashMap<String, Object> formMap = new HashMap<String, Object>();
formMap.put("userName","katty");
formMap.put("salary",2500L);

ClientRequest cr2 = ropClient.buildClientRequest();
cr2.addParam("userName", "katty");
cr2.addParam("salary", 2500L);
Telephone telephone = new Telephone();
telephone.setZoneCode("010");
telephone.setTelephoneCode("12345678");
formMap.put("telephone",telephone);
cr2.addParam("telephone", telephone);

response = ropClient.post(formMap, CreateUserResponse.class, "user.add", "1.0");
response = cr2.post(CreateUserResponse.class, "user.add", "1.0");
assertNotNull(response);
assertTrue(response.isSuccessful());
assertTrue(response.getSuccessResponse() instanceof CreateUserResponse);
}
}


@Test
Expand All @@ -125,8 +130,9 @@ public void testAddUserByVersion3() {
ropRequest.setUserName("tomson");
ropRequest.setSalary(2500L);
ropClient.setMessageFormat(MessageFormat.xml);
CompositeResponse response = ropClient.post(ropRequest, CreateUserResponse.class,
"user.add", "3.0");

CompositeResponse response = ropClient.buildClientRequest()
.post(ropRequest, CreateUserResponse.class, "user.add", "3.0");
assertNotNull(response);
assertFalse(response.isSuccessful());
assertNull(response.getSuccessResponse());
Expand All @@ -137,14 +143,17 @@ public void testAddUserByVersion3() {

@Test
public void testFileUpload() throws Throwable {
ClientRequest cr = ropClient.buildClientRequest();

UploadUserPhotoRequest request = new UploadUserPhotoRequest();
ClassPathResource resource = new ClassPathResource("photo.png");
UploadFile uploadFile = new UploadFile(resource.getFile());
request.setPhoto(uploadFile);
request.setUserId("1");
ropClient.setMessageFormat(MessageFormat.xml);
CompositeResponse response = ropClient.post(request, UploadUserPhotoResponse.class,
"user.upload.photo", "1.0");

CompositeResponse response = ropClient.buildClientRequest()
.post(request, UploadUserPhotoResponse.class, "user.upload.photo", "1.0");
assertNotNull(response);
assertTrue(response.isSuccessful());
assertTrue(response.getSuccessResponse() instanceof UploadUserPhotoResponse);
Expand Down Expand Up @@ -173,15 +182,16 @@ public void testServiceXmlRequestAttr() throws Throwable {
request.setAddress(address);

ropClient.setMessageFormat(MessageFormat.xml);
CompositeResponse response = ropClient.post(request, CreateUserResponse.class,
"user.add", "1.0");
CompositeResponse response = ropClient.buildClientRequest()
.post(request, CreateUserResponse.class, "user.add", "1.0");
assertNotNull(response);
assertTrue(response.isSuccessful());
assertTrue(response.getSuccessResponse() instanceof CreateUserResponse);
}

@Test
public void testServiceJsonRequestAttr() throws Throwable {

ropClient.setMessageFormat(MessageFormat.json);
CreateUserRequest request = new CreateUserRequest();
request.setUserName("tomson");
Expand All @@ -201,8 +211,8 @@ public void testServiceJsonRequestAttr() throws Throwable {
address.setStreets(streets);
request.setAddress(address);

CompositeResponse response = ropClient.post(request, CreateUserResponse.class,
"user.add", "1.0");
CompositeResponse response = ropClient.buildClientRequest()
.post(request, CreateUserResponse.class, "user.add", "1.0");
assertNotNull(response);
assertTrue(response.isSuccessful());
assertTrue(response.getSuccessResponse() instanceof CreateUserResponse);
Expand All @@ -219,8 +229,7 @@ public void testCustomConverter() {
telephone.setZoneCode("0592");
telephone.setTelephoneCode("12345678");

CompositeResponse response = ropClient.post(request, CreateUserResponse.class,
"user.add", "1.0");
CompositeResponse response = ropClient.buildClientRequest().post(request, CreateUserResponse.class, "user.add", "1.0");

assertNotNull(response);
assertTrue(response.isSuccessful());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@
*/
package com.rop.sample.client;

import com.rop.client.ClientRequest;
import com.rop.client.CompositeResponse;
import com.rop.sample.request.CreateUserRequest;
import com.rop.sample.request.LogonRequest;
import com.rop.sample.request.Telephone;
import com.rop.sample.response.CreateUserResponse;
import com.rop.sample.response.LogonResponse;
import org.testng.annotations.Test;

import static org.testng.Assert.assertNotNull;
Expand Down Expand Up @@ -54,7 +53,8 @@ public void addUser() {
telephone.setTelephoneCode("12345678");
createUserRequest.setTelephone(telephone);

CompositeResponse response = ropSampleClient.post(createUserRequest, CreateUserResponse.class, "user.add", "1.0");
ClientRequest cr = ropSampleClient.buildClientRequest();
CompositeResponse response = cr.post(createUserRequest, CreateUserResponse.class, "user.add", "1.0");
assertNotNull(response);
assertTrue(response.isSuccessful());
assertTrue(response.getSuccessResponse() instanceof CreateUserResponse);
Expand Down

0 comments on commit f79c67a

Please sign in to comment.