mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-08-24 16:18:51 +08:00
✅ 增加些测试代码
This commit is contained in:
parent
5e8d4a2ec6
commit
fa79568a47
@ -1,55 +1,55 @@
|
|||||||
package me.chanjar.weixin.cp.bean;
|
package me.chanjar.weixin.cp.bean;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamConverter;
|
import com.thoughtworks.xstream.annotations.XStreamConverter;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import me.chanjar.weixin.common.util.XmlUtils;
|
import me.chanjar.weixin.common.util.XmlUtils;
|
||||||
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
|
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
|
||||||
import me.chanjar.weixin.cp.bean.outxmlbuilder.ImageBuilder;
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.ImageBuilder;
|
||||||
import me.chanjar.weixin.cp.bean.outxmlbuilder.NewsBuilder;
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.NewsBuilder;
|
||||||
import me.chanjar.weixin.cp.bean.outxmlbuilder.TextBuilder;
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.TextBuilder;
|
||||||
import me.chanjar.weixin.cp.bean.outxmlbuilder.VideoBuilder;
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.VideoBuilder;
|
||||||
import me.chanjar.weixin.cp.bean.outxmlbuilder.VoiceBuilder;
|
import me.chanjar.weixin.cp.bean.outxmlbuilder.VoiceBuilder;
|
||||||
import me.chanjar.weixin.cp.config.WxCpConfigStorage;
|
import me.chanjar.weixin.cp.config.WxCpConfigStorage;
|
||||||
import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil;
|
import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil;
|
||||||
import me.chanjar.weixin.cp.util.xml.XStreamTransformer;
|
import me.chanjar.weixin.cp.util.xml.XStreamTransformer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回调消息包.
|
* 回调消息包.
|
||||||
* https://work.weixin.qq.com/api/doc#90001/90143/91116
|
* https://work.weixin.qq.com/api/doc#90001/90143/91116
|
||||||
*
|
*
|
||||||
* @author zhenjun cai
|
* @author zhenjun cai
|
||||||
*/
|
*/
|
||||||
@XStreamAlias("xml")
|
@XStreamAlias("xml")
|
||||||
@Data
|
@Data
|
||||||
public class WxCpTpXmlPackage implements Serializable {
|
public class WxCpTpXmlPackage implements Serializable {
|
||||||
|
private static final long serialVersionUID = 6031833682211475786L;
|
||||||
private static final long serialVersionUID = 6031833682211475786L;
|
|
||||||
/**
|
/**
|
||||||
* 使用dom4j解析的存放所有xml属性和值的map.
|
* 使用dom4j解析的存放所有xml属性和值的map.
|
||||||
*/
|
*/
|
||||||
private Map<String, Object> allFieldsMap;
|
private Map<String, Object> allFieldsMap;
|
||||||
|
|
||||||
@XStreamAlias("ToUserName")
|
@XStreamAlias("ToUserName")
|
||||||
@XStreamConverter(value = XStreamCDataConverter.class)
|
@XStreamConverter(value = XStreamCDataConverter.class)
|
||||||
protected String toUserName;
|
protected String toUserName;
|
||||||
|
|
||||||
@XStreamAlias("AgentID")
|
@XStreamAlias("AgentID")
|
||||||
@XStreamConverter(value = XStreamCDataConverter.class)
|
@XStreamConverter(value = XStreamCDataConverter.class)
|
||||||
protected String agentId;
|
protected String agentId;
|
||||||
|
|
||||||
@XStreamAlias("Encrypt")
|
@XStreamAlias("Encrypt")
|
||||||
@XStreamConverter(value = XStreamCDataConverter.class)
|
@XStreamConverter(value = XStreamCDataConverter.class)
|
||||||
protected String msgEncrypt;
|
protected String msgEncrypt;
|
||||||
|
|
||||||
public static WxCpTpXmlPackage fromXml(String xml) {
|
public static WxCpTpXmlPackage fromXml(String xml) {
|
||||||
//修改微信变态的消息内容格式,方便解析
|
//修改微信变态的消息内容格式,方便解析
|
||||||
//xml = xml.replace("</PicList><PicList>", "");
|
//xml = xml.replace("</PicList><PicList>", "");
|
||||||
final WxCpTpXmlPackage xmlPackage = XStreamTransformer.fromXml(WxCpTpXmlPackage.class, xml);
|
final WxCpTpXmlPackage xmlPackage = XStreamTransformer.fromXml(WxCpTpXmlPackage.class, xml);
|
||||||
xmlPackage.setAllFieldsMap(XmlUtils.xml2Map(xml));
|
xmlPackage.setAllFieldsMap(XmlUtils.xml2Map(xml));
|
||||||
return xmlPackage;
|
return xmlPackage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package me.chanjar.weixin.cp.bean;
|
||||||
|
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.testng.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* .
|
||||||
|
*
|
||||||
|
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||||
|
* @date 2019-08-18
|
||||||
|
*/
|
||||||
|
public class WxCpTpXmlPackageTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFromXml() {
|
||||||
|
WxCpTpXmlPackage result = WxCpTpXmlPackage.fromXml("<xml> \n" +
|
||||||
|
" <ToUserName><![CDATA[toUser]]></ToUserName>\n" +
|
||||||
|
" <AgentID><![CDATA[toAgentID]]></AgentID>\n" +
|
||||||
|
" <Encrypt><![CDATA[msg_encrypt]]></Encrypt>\n" +
|
||||||
|
"</xml>\n");
|
||||||
|
assertThat(result).isNotNull();
|
||||||
|
assertThat(result.getToUserName()).isEqualTo("toUser");
|
||||||
|
assertThat(result.getAgentId()).isEqualTo("toAgentID");
|
||||||
|
assertThat(result.getMsgEncrypt()).isEqualTo("msg_encrypt");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user