1
0
mirror of synced 2025-12-22 00:48:00 +08:00

issue #12 xml消息fromXml, toXml有错误

This commit is contained in:
Daniel Qian
2014-08-28 13:02:58 +08:00
parent 5c2aa4df36
commit 604e416ad6
12 changed files with 263 additions and 56 deletions

View File

@@ -7,6 +7,7 @@ import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import chanjarster.weixin.bean.WxXmlMessage;
import chanjarster.weixin.bean.WxXmlOutMessage;
/**
* 测试消息路由器
@@ -65,7 +66,7 @@ public class WxMessageRouterTest {
final WxMessageRouter router = new WxMessageRouter();
router.rule().handler(new WxMessageHandler() {
@Override
public WxXmlMessage handle(WxXmlMessage wxMessage, Map<String, Object> context) {
public WxXmlOutMessage handle(WxXmlMessage wxMessage, Map<String, Object> context) {
// TODO Auto-generated method stub
return null;
}
@@ -144,7 +145,7 @@ public class WxMessageRouterTest {
}
@Override
public WxXmlMessage handle(WxXmlMessage wxMessage, Map<String, Object> context) {
public WxXmlOutMessage handle(WxXmlMessage wxMessage, Map<String, Object> context) {
sb.append(this.echoStr).append(',');
return null;
}

View File

@@ -61,33 +61,4 @@ public class WxXmlMessageTest {
Assert.assertEquals(wxMessage.getPrecision(), new Double(119.385040));
}
public void testToXml() {
WxXmlMessage wxMessage = new WxXmlMessage();
wxMessage.setToUserName("toUser");
wxMessage.setFromUserName("fromUser");
wxMessage.setCreateTime(new Long(1348831860l));
wxMessage.setMsgType(WxConsts.XML_MSG_TEXT);
wxMessage.setContent("this is a test");
wxMessage.setMsgId(new Long(1234567890123456l));
wxMessage.setPicUrl("this is a url");
wxMessage.setMediaId("media_id");
wxMessage.setFormat("Format");
wxMessage.setThumbMediaId("thumb_media_id");
wxMessage.setLocation_X(new Double(23.134521d));
wxMessage.setLocation_Y(new Double(113.358803d));
wxMessage.setScale(new Double(20));
wxMessage.setLabel("位置信息");
wxMessage.setDescription("公众平台官网链接");
wxMessage.setUrl("url");
wxMessage.setTitle("公众平台官网链接");
wxMessage.setEvent("subscribe");
wxMessage.setEventKey("qrscene_123123");
wxMessage.setTicket("TICKET");
wxMessage.setLatitude(new Double(23.137466));
wxMessage.setLongitude(new Double(113.352425));
wxMessage.setPrecision(new Double(119.385040));
String xml = wxMessage.toXml();
Assert.assertEquals(wxMessage, WxXmlMessage.fromXml(xml));
}
}

View File

@@ -0,0 +1,28 @@
package chanjarster.weixin.bean;
import org.testng.Assert;
import org.testng.annotations.Test;
@Test
public class WxXmlOutImageMessageTest {
public void test() {
WxXmlOutImageMessage m = new WxXmlOutImageMessage();
m.setMediaId("ddfefesfsdfef");
m.setCreateTime(1122l);
m.setFromUserName("from");
m.setToUserName("to");
String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
+ "<xml>"
+ "<ToUserName><![CDATA[to]]></ToUserName>"
+ "<FromUserName><![CDATA[from]]></FromUserName>"
+ "<CreateTime>1122</CreateTime>"
+ "<MsgType><![CDATA[image]]></MsgType>"
+ "<Image><MediaId><![CDATA[ddfefesfsdfef]]></MediaId></Image>"
+ "</xml>";
System.out.println(m.toXml());
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
}
}

View File

@@ -0,0 +1,28 @@
package chanjarster.weixin.bean;
import org.testng.Assert;
import org.testng.annotations.Test;
@Test
public class WxXmlOutTextMessageTest {
public void test() {
WxXmlOutTextMessage m = new WxXmlOutTextMessage();
m.setContent("content");
m.setCreateTime(1122l);
m.setFromUserName("from");
m.setToUserName("to");
String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
+ "<xml>"
+ "<ToUserName><![CDATA[to]]></ToUserName>"
+ "<FromUserName><![CDATA[from]]></FromUserName>"
+ "<CreateTime>1122</CreateTime>"
+ "<MsgType><![CDATA[text]]></MsgType>"
+ "<Content><![CDATA[content]]></Content>"
+ "</xml>";
System.out.println(m.toXml());
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
}
}