|
3 | 3 | import me.chanjar.weixin.common.api.WxConsts;
|
4 | 4 | import org.testng.annotations.Test;
|
5 | 5 |
|
| 6 | +import java.util.List; |
| 7 | +import java.util.Map; |
| 8 | + |
| 9 | +import static org.assertj.core.api.Assertions.assertThat; |
6 | 10 | import static org.testng.Assert.assertEquals;
|
7 | 11 | import static org.testng.Assert.assertNotNull;
|
8 | 12 |
|
@@ -33,7 +37,7 @@ public void testFromXml() {
|
33 | 37 | WxMaMessage wxMessage = WxMaMessage.fromXml(xml);
|
34 | 38 | assertEquals(wxMessage.getToUser(), "toUser");
|
35 | 39 | assertEquals(wxMessage.getFromUser(), "fromUser");
|
36 |
| - assertEquals(wxMessage.getCreateTime(),new Integer(1482048670)); |
| 40 | + assertEquals(wxMessage.getCreateTime(), new Integer(1482048670)); |
37 | 41 | assertEquals(wxMessage.getMsgType(), WxConsts.XmlMsgType.TEXT);
|
38 | 42 | assertEquals(wxMessage.getContent(), "this is a test");
|
39 | 43 | assertEquals(wxMessage.getMsgId(), new Long(1234567890123456L));
|
@@ -103,13 +107,13 @@ public void testSubscribeMsgPopupEvent() {
|
103 | 107 | private void checkSubscribeMsgPopupEvent(WxMaMessage wxMessage) {
|
104 | 108 | assertEquals(wxMessage.getToUser(), "gh_123456789abc");
|
105 | 109 | assertEquals(wxMessage.getFromUser(), "otFpruAK8D-E6EfStSYonYSBZ8_4");
|
106 |
| - assertEquals(wxMessage.getCreateTime(),new Integer(1610969440)); |
| 110 | + assertEquals(wxMessage.getCreateTime(), new Integer(1610969440)); |
107 | 111 | assertEquals(wxMessage.getMsgType(), WxConsts.XmlMsgType.EVENT);
|
108 | 112 | assertEquals(wxMessage.getEvent(), "subscribe_msg_popup_event");
|
109 | 113 | assertEquals(wxMessage.getSubscribeMsgPopupEvent().getList().size(), 1);
|
110 | 114 | WxMaSubscribeMsgEvent.PopupEvent event = wxMessage.getSubscribeMsgPopupEvent().getList().get(0);
|
111 | 115 | assertEquals(event.getTemplateId(), "VRR0UEO9VJOLs0MHlU0OilqX6MVFDwH3_3gz3Oc0NIc");
|
112 |
| - assertEquals(event.getSubscribeStatusString(),"accept"); |
| 116 | + assertEquals(event.getSubscribeStatusString(), "accept"); |
113 | 117 | assertEquals(event.getPopupScene(), "0");
|
114 | 118 | }
|
115 | 119 |
|
@@ -165,13 +169,13 @@ public void testSubscribeMsgChangeEvent() {
|
165 | 169 | private void checkSubscribeMsgChangeEvent(WxMaMessage wxMessage) {
|
166 | 170 | assertEquals(wxMessage.getToUser(), "gh_123456789abc");
|
167 | 171 | assertEquals(wxMessage.getFromUser(), "o7esq5OI1Uej6Xixw1lA2H7XDVbc");
|
168 |
| - assertEquals(wxMessage.getCreateTime(),new Integer(1610968440)); |
| 172 | + assertEquals(wxMessage.getCreateTime(), new Integer(1610968440)); |
169 | 173 | assertEquals(wxMessage.getMsgType(), WxConsts.XmlMsgType.EVENT);
|
170 | 174 | assertEquals(wxMessage.getEvent(), "subscribe_msg_change_event");
|
171 | 175 | assertEquals(wxMessage.getSubscribeMsgChangeEvent().getList().size(), 1);
|
172 | 176 | WxMaSubscribeMsgEvent.ChangeEvent event = wxMessage.getSubscribeMsgChangeEvent().getList().get(0);
|
173 | 177 | assertEquals(event.getTemplateId(), "BEwX0BOT3MqK3Uc5oTU3CGBqzjpndk2jzUf7VfExd8");
|
174 |
| - assertEquals(event.getSubscribeStatusString(),"reject"); |
| 178 | + assertEquals(event.getSubscribeStatusString(), "reject"); |
175 | 179 | }
|
176 | 180 |
|
177 | 181 | public void testSubscribeMsgSentEvent() {
|
@@ -212,18 +216,79 @@ public void testSubscribeMsgSentEvent() {
|
212 | 216 | wxMessage = WxMaMessage.fromJson(json);
|
213 | 217 | checkSubscribeMsgSentEvent(wxMessage);
|
214 | 218 | }
|
| 219 | + |
215 | 220 | private void checkSubscribeMsgSentEvent(WxMaMessage wxMessage) {
|
216 | 221 | assertEquals(wxMessage.getToUser(), "gh_123456789abc");
|
217 | 222 | assertEquals(wxMessage.getFromUser(), "o7esq5PHRGBQYmeNyfG064wEFVpQ");
|
218 |
| - assertEquals(wxMessage.getCreateTime(),new Integer(1620963428)); |
| 223 | + assertEquals(wxMessage.getCreateTime(), new Integer(1620963428)); |
219 | 224 | assertEquals(wxMessage.getMsgType(), WxConsts.XmlMsgType.EVENT);
|
220 | 225 | assertEquals(wxMessage.getEvent(), "subscribe_msg_sent_event");
|
221 | 226 | assertNotNull(wxMessage.getSubscribeMsgSentEvent());
|
222 | 227 | WxMaSubscribeMsgEvent.SentEvent event = wxMessage.getSubscribeMsgSentEvent().getList();
|
223 | 228 | assertEquals(event.getTemplateId(), "BEwX0BO-T3MqK3Uc5oTU3CGBqzjpndk2jzUf7VfExd8");
|
224 |
| - assertEquals(event.getMsgId(),"1864323726461255680"); |
225 |
| - assertEquals(event.getErrorCode(),"0"); |
226 |
| - assertEquals(event.getErrorStatus(),"success"); |
| 229 | + assertEquals(event.getMsgId(), "1864323726461255680"); |
| 230 | + assertEquals(event.getErrorCode(), "0"); |
| 231 | + assertEquals(event.getErrorStatus(), "success"); |
227 | 232 | }
|
228 | 233 |
|
| 234 | + @Test |
| 235 | + public void testFromXmlForAllFieldsMap() { |
| 236 | + String xml = "<xml>\n" + |
| 237 | + " <ToUserName><![CDATA[gh_3953b390c11d]]></ToUserName>\n" + |
| 238 | + " <FromUserName><![CDATA[ofYMP5JFT4SD7EX1LQv3IWrciBSo]]></FromUserName>\n" + |
| 239 | + " <CreateTime>1642658087</CreateTime>\n" + |
| 240 | + " <MsgType><![CDATA[event]]></MsgType>\n" + |
| 241 | + " <Event><![CDATA[add_express_path]]></Event>\n" + |
| 242 | + " <DeliveryID><![CDATA[TEST]]></DeliveryID>\n" + |
| 243 | + " <WayBillId><![CDATA[01234567894_waybill_id]]></WayBillId>\n" + |
| 244 | + " <Version>16</Version>\n" + |
| 245 | + " <Count>2</Count>\n" + |
| 246 | + " <Actions>\n" + |
| 247 | + " <ActionTime>1642605533</ActionTime>\n" + |
| 248 | + " <ActionType>300001</ActionType>\n" + |
| 249 | + " <ActionMsg><![CDATA[揽件阶段-揽件成功]]></ActionMsg>\n" + |
| 250 | + " <Lat>0</Lat>\n" + |
| 251 | + " <Lng>0</Lng>\n" + |
| 252 | + " </Actions>\n" + |
| 253 | + " <Actions>\n" + |
| 254 | + " <ActionTime>1642605533</ActionTime>\n" + |
| 255 | + " <ActionType>100001</ActionType>\n" + |
| 256 | + " <ActionMsg><![CDATA[揽件阶段-揽件成功]]></ActionMsg>\n" + |
| 257 | + " <Lat>0</Lat>\n" + |
| 258 | + " <Lng>0</Lng>\n" + |
| 259 | + " </Actions>\n" + |
| 260 | + " <OrderId><![CDATA[01234567894]]></OrderId>\n" + |
| 261 | + "</xml>"; |
| 262 | + |
| 263 | + WxMaMessage wxMessage = WxMaMessage.fromXml(xml); |
| 264 | + Map<String, Object> allFieldsMap = wxMessage.getAllFieldsMap(); |
| 265 | + assertThat(allFieldsMap).isNotEmpty() |
| 266 | + .containsEntry("ToUserName", "gh_3953b390c11d") |
| 267 | + .containsEntry("FromUserName", "ofYMP5JFT4SD7EX1LQv3IWrciBSo") |
| 268 | + .containsEntry("CreateTime", "1642658087") |
| 269 | + .containsEntry("MsgType", "event") |
| 270 | + .containsEntry("Event", "add_express_path") |
| 271 | + .containsEntry("DeliveryID", "TEST") |
| 272 | + .containsEntry("WayBillId", "01234567894_waybill_id") |
| 273 | + .containsEntry("Version", "16") |
| 274 | + .containsEntry("Count", "2") |
| 275 | + .containsEntry("OrderId", "01234567894"); |
| 276 | + |
| 277 | + List<Map<String, Object>> actions = (List<Map<String, Object>>) allFieldsMap.get("Actions"); |
| 278 | + assertThat(actions).isNotEmpty().hasSize(2); |
| 279 | + |
| 280 | + assertThat(actions.get(0)) |
| 281 | + .containsEntry("ActionTime", "1642605533") |
| 282 | + .containsEntry("ActionType", "300001") |
| 283 | + .containsEntry("ActionMsg", "揽件阶段-揽件成功") |
| 284 | + .containsEntry("Lat", "0") |
| 285 | + .containsEntry("Lng", "0"); |
| 286 | + |
| 287 | + assertThat(actions.get(1)) |
| 288 | + .containsEntry("ActionTime", "1642605533") |
| 289 | + .containsEntry("ActionType", "100001") |
| 290 | + .containsEntry("ActionMsg", "揽件阶段-揽件成功") |
| 291 | + .containsEntry("Lat", "0") |
| 292 | + .containsEntry("Lng", "0"); |
| 293 | + } |
229 | 294 | }
|
0 commit comments