-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathPrismClientTest.java
118 lines (103 loc) · 5.05 KB
/
PrismClientTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package cn.shopex.prism.sdk;
import com.alibaba.fastjson.JSONObject;
import jp.a840.websocket.WebSocket;
import jp.a840.websocket.exception.WebSocketException;
import org.junit.Test;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
public class PrismClientTest {
String url = "http://domaiurl/api";
String key = "your prism key";
String secret = "your prism secret";
Boolean https_model = true;
//testing api get
@Test
public void apiGet() {
String method = "/platform/notify/status";
PrismClient prismClient = new PrismClient(url, key, secret, https_model);
Map<String, String> appParams = new HashMap<String, String>();
try {
String apiResult = prismClient.doGet(method, appParams);
System.out.println(apiResult);
} catch (IOException e) {
e.printStackTrace();
}
}
//testing api post
@Test
public void apiPost() {
String method = "/platform/notify/write";
PrismClient prismClient = new PrismClient(url, key, secret, https_model);
Map<String, String> appParams = new HashMap<String, String>();
appParams.put("data", "hello");
try {
String apiResult = prismClient.doPost(method, appParams);
System.out.println(apiResult);
} catch (IOException e) {
e.printStackTrace();
}
}
//testing api post
@Test
public void apiMethod() {
String method = "/oms";
PrismClient prismClient = new PrismClient(url, key, secret, https_model);
Map<String, String> appParams = JSONObject.parseObject("{\"receiver_city\":\"杭州\",\"orders_number\":\"2\",\"shipping_type\":\"快递\",\"is_cod\":\"false\",\"tid\":\"709274618384220001\",\"receiver_state\":\"浙江\",\"pay_status\":\"PAY_FINISH\",\"payed_fee\":\"0.00\",\"total_trade_fee\":\"0.00\",\"modified\":\"2018-07-09 17:36:19\",\"receiver_name\":\"林xx了\",\"method\":\"store.trade.add\",\"created\":\"2018-07-09\",\"receiver_district\":\"西湖区\",\"format\":\"json\",\"has_invoice\":\"false\",\"receiver_mobile\":\"1316217193\",\"ship_status\":\"SHIP_NO\",\"shipping_fee\":\"0.00\",\"v\":\"1.0\",\"receiver_address\":\"xx大厦\",\"orders\":\"{\\\"items_num\\\":4,\\\"oid\\\":\\\"70927461838422C0001\\\",\\\"order_items\\\":{\\\"item\\\":[{\\\"bn\\\":\\\"\\\",\\\"item_status\\\":\\\"normal\\\",\\\"item_type\\\":\\\"product\\\",\\\"num\\\":2,\\\"price\\\":\\\"1\\\",\\\"sale_price\\\":\\\"1\\\",\\\"total_item_fee\\\":\\\"3\\\"},{\\\"bn\\\":\\\"\\\",\\\"item_status\\\":\\\"normal\\\",\\\"item_type\\\":\\\"product\\\",\\\"num\\\":2,\\\"price\\\":\\\"1\\\",\\\"sale_price\\\":\\\"1\\\",\\\"total_item_fee\\\":\\\"3\\\"}]},\\\"refund_status\\\":\\\"PAY_FINISH\\\",\\\"total_order_fee\\\":0.0,\\\"type\\\":\\\"goods\\\"}\",\"is_protect\":\"false\",\"node_id\":\"1092156036_1129944230\",\"status\":\"TRADE_FINISHED\"}", Map.class);
try {
String apiResult = prismClient.doPost(method, appParams);
System.out.println(apiResult);
} catch (IOException e) {
e.printStackTrace();
}
}
//testing websocket connection
@Test
public void websocketConnect() {
String method = "/platform/notify";
final PrismClient prismClient = new PrismClient(url, key, secret, https_model);
prismClient.setPrismMsgHandler(new PrismMsgHandler() {
@Override
public void onOpen(WebSocket socket) {
System.out.println("---> open");
}
@Override
public void onMessage(WebSocket socket, PrismMsg prismMsg) {
System.out.println("---> receive msg:" + prismMsg);
if (prismMsg.getTag() == 1) {
try {
socket.send(prismClient.assembleAckData(prismMsg.getTag()));
System.out.println("sending ack:" + prismMsg.getTag());
} catch (WebSocketException e) {
e.printStackTrace();
}
}
}
@Override
public void onError(WebSocket socket, WebSocketException e) {
e.printStackTrace();
System.out.println("---> error:" + e);
}
@Override
public void onClose(WebSocket socket) {
System.out.println("---> close");
}
});
prismClient.executeNotify(method);
prismClient.consume();
try {
prismClient.publish("order.new", "mytest00001");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (WebSocketException e) {
e.printStackTrace();
}
try {
new CountDownLatch(1).await();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}