Package org.hamster.weixinmp.test.xml

Source Code of org.hamster.weixinmp.test.xml.WxXMLUtilTest

/**
*
*/
package org.hamster.weixinmp.test.xml;

import org.dom4j.DocumentException;
import org.hamster.weixinmp.controller.util.WxXmlUtil;
import org.hamster.weixinmp.dao.entity.base.WxBaseMsgEntity;
import org.hamster.weixinmp.dao.entity.msg.WxMsgEventEntity;
import org.hamster.weixinmp.dao.entity.msg.WxMsgImageEntity;
import org.hamster.weixinmp.dao.entity.msg.WxMsgLinkEntity;
import org.hamster.weixinmp.dao.entity.msg.WxMsgLocEntity;
import org.hamster.weixinmp.dao.entity.msg.WxMsgTextEntity;
import org.junit.Assert;
import org.junit.Test;


/**
* @author grossopaforever@gmail.com
* @version Jul 28, 2013
*
*/
public class WxXMLUtilTest {

  public static final String MSG_TEXT_XML = "<xml>"
      + "<ToUserName><![CDATA[toUser]]></ToUserName>"
      + "<FromUserName><![CDATA[fromUser]]></FromUserName> "
      + "<CreateTime>1348831860</CreateTime>"
      + "<MsgType><![CDATA[text]]></MsgType>"
      + "<Content><![CDATA[this is a test]]></Content>"
      + "<MsgId>1234567890123456</MsgId>" + "</xml>";
 
  @Test
  public void testGetMsgText() throws DocumentException {
    WxMsgTextEntity msgText = WxXmlUtil.getMsgText(WxXmlUtil.toXML(MSG_TEXT_XML));
    assertBaseFieldsWithMsgId(msgText);
    Assert.assertEquals("this is a test", msgText.getContent());
  }
 
  public static final String MSG_IMG_XML = "<xml>"
      + "<ToUserName><![CDATA[toUser]]></ToUserName>"
      + "<FromUserName><![CDATA[fromUser]]></FromUserName>"
      + "<CreateTime>1348831860</CreateTime>"
      + "<MsgType><![CDATA[image]]></MsgType>"
      + "<PicUrl><![CDATA[this is a url]]></PicUrl>"
      + "<MediaId><![CDATA[media_id]]></MediaId>"
      + "<MsgId>1234567890123456</MsgId>" + "</xml>";
 
  @Test
  public void testGetMsgImg() throws DocumentException {
    WxMsgImageEntity msgImg = WxXmlUtil.getMsgImage(WxXmlUtil.toXML(MSG_IMG_XML));
    assertBaseFieldsWithMsgId(msgImg);
    //Assert.assertEquals("this is a url", msgImg.getImage().getPicUrl());
  }
 
  public static final String MSG_LOC_XML = "<xml>"
      + "<ToUserName><![CDATA[toUser]]></ToUserName>"
      + "<FromUserName><![CDATA[fromUser]]></FromUserName>"
      + "<CreateTime>1351776360</CreateTime>"
      + "<MsgType><![CDATA[location]]></MsgType>"
      + "<Location_X>23.134521</Location_X>"
      + "<Location_Y>113.358803</Location_Y>"
      + "<Scale>20</Scale>"
      + "<Label><![CDATA[位置信息]]></Label>"
      + "<MsgId>1234567890123456</MsgId>" + "</xml> ";
 
  @Test
  public void testGetMsgLoc() throws DocumentException {
    WxMsgLocEntity msgLoc = WxXmlUtil.getMsgLoc(WxXmlUtil.toXML(MSG_LOC_XML));
    assertBaseFieldsWithMsgId(msgLoc);
    Assert.assertEquals(Double.valueOf(23.134521d), msgLoc.getLocationX());
    Assert.assertEquals(Double.valueOf(113.358803d), msgLoc.getLocationY());
    Assert.assertEquals(Double.valueOf(20), msgLoc.getScale());
    Assert.assertEquals("位置信息", msgLoc.getLabel());
  }
 
  public static final String MSG_LINK_XML = "<xml>"
      + "<ToUserName><![CDATA[toUser]]></ToUserName>"
      + "<FromUserName><![CDATA[fromUser]]></FromUserName>"
      + "<CreateTime>1351776360</CreateTime>"
      + "<MsgType><![CDATA[link]]></MsgType>"
      + "<Title><![CDATA[公众平台官网链接]]></Title>"
      + "<Description><![CDATA[公众平台官网链接123]]></Description>"
      + "<Url><![CDATA[url]]></Url>" + "<MsgId>1234567890123456</MsgId>"
      + "</xml> ";
 
  @Test
  public void testGetMsgLink() throws DocumentException {
    WxMsgLinkEntity msgLink = WxXmlUtil.getMsgLink(WxXmlUtil.toXML(MSG_LINK_XML));
    assertBaseFieldsWithMsgId(msgLink);
    Assert.assertEquals("公众平台官网链接", msgLink.getTitle());
    Assert.assertEquals("公众平台官网链接123", msgLink.getDescription());
    Assert.assertEquals("url", msgLink.getUrl());
  }
 
  public static final String MSG_EVENT_XML = "<xml>"
      + "<ToUserName><![CDATA[toUser]]></ToUserName>"
      + "<FromUserName><![CDATA[FromUser]]></FromUserName>"
      + "<CreateTime>123456789</CreateTime>"
      + "<MsgType><![CDATA[event]]></MsgType>"
      + "<Event><![CDATA[EVENT]]></Event>"
      + "<EventKey><![CDATA[EVENTKEY]]></EventKey>" + "</xml>";
 
  @Test
  public void testGetMsgEvent() throws DocumentException {
    WxMsgEventEntity msgEvent = WxXmlUtil.getMsgEvent(WxXmlUtil.toXML(MSG_EVENT_XML));
    assertBaseFields(msgEvent);
    Assert.assertEquals("EVENT", msgEvent.getEvent());
    Assert.assertEquals("EVENTKEY", msgEvent.getEventKey());
  }
 
  private void assertBaseFields(WxBaseMsgEntity entity) {
    Assert.assertNotNull(entity.getFromUserName());
    Assert.assertNotNull(entity.getToUserName());
    Assert.assertNotNull(entity.getCreateTime());
    Assert.assertNotNull(entity.getMsgType());
  }
 
  private void assertBaseFieldsWithMsgId(WxBaseMsgEntity entity) {
    assertBaseFields(entity);
    Assert.assertNotNull(entity.getMsgId());
  }

}
TOP

Related Classes of org.hamster.weixinmp.test.xml.WxXMLUtilTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.