ソースを参照

:white_check_mark: 增加些测试代码

Binary Wang 5 年 前
コミット
fa79568a47

+ 55 - 55
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTpXmlPackage.java

@@ -1,55 +1,55 @@
-package me.chanjar.weixin.cp.bean;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamConverter;
-import lombok.Data;
-import me.chanjar.weixin.common.util.XmlUtils;
-import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
-import me.chanjar.weixin.cp.bean.outxmlbuilder.ImageBuilder;
-import me.chanjar.weixin.cp.bean.outxmlbuilder.NewsBuilder;
-import me.chanjar.weixin.cp.bean.outxmlbuilder.TextBuilder;
-import me.chanjar.weixin.cp.bean.outxmlbuilder.VideoBuilder;
-import me.chanjar.weixin.cp.bean.outxmlbuilder.VoiceBuilder;
-import me.chanjar.weixin.cp.config.WxCpConfigStorage;
-import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil;
-import me.chanjar.weixin.cp.util.xml.XStreamTransformer;
-
-/**
- * 回调消息包.
- * https://work.weixin.qq.com/api/doc#90001/90143/91116
- *
- * @author zhenjun cai
- */
-@XStreamAlias("xml")
-@Data
-public class WxCpTpXmlPackage implements Serializable {
-
-  private static final long serialVersionUID = 6031833682211475786L;
-  /**
-   * 使用dom4j解析的存放所有xml属性和值的map.
-   */
-  private Map<String, Object> allFieldsMap;
-  
-  @XStreamAlias("ToUserName")
-  @XStreamConverter(value = XStreamCDataConverter.class)
-  protected String toUserName;
-
-  @XStreamAlias("AgentID")
-  @XStreamConverter(value = XStreamCDataConverter.class)
-  protected String agentId;
-
-  @XStreamAlias("Encrypt")
-  @XStreamConverter(value = XStreamCDataConverter.class)
-  protected String msgEncrypt;
-
-  public static WxCpTpXmlPackage fromXml(String xml) {
-    //修改微信变态的消息内容格式,方便解析
-    //xml = xml.replace("</PicList><PicList>", "");
-    final WxCpTpXmlPackage xmlPackage = XStreamTransformer.fromXml(WxCpTpXmlPackage.class, xml);
-    xmlPackage.setAllFieldsMap(XmlUtils.xml2Map(xml));
-    return xmlPackage;
-  }
-}
+package me.chanjar.weixin.cp.bean;
+
+import java.io.Serializable;
+import java.util.Map;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamConverter;
+import lombok.Data;
+import me.chanjar.weixin.common.util.XmlUtils;
+import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
+import me.chanjar.weixin.cp.bean.outxmlbuilder.ImageBuilder;
+import me.chanjar.weixin.cp.bean.outxmlbuilder.NewsBuilder;
+import me.chanjar.weixin.cp.bean.outxmlbuilder.TextBuilder;
+import me.chanjar.weixin.cp.bean.outxmlbuilder.VideoBuilder;
+import me.chanjar.weixin.cp.bean.outxmlbuilder.VoiceBuilder;
+import me.chanjar.weixin.cp.config.WxCpConfigStorage;
+import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil;
+import me.chanjar.weixin.cp.util.xml.XStreamTransformer;
+
+/**
+ * 回调消息包.
+ * https://work.weixin.qq.com/api/doc#90001/90143/91116
+ *
+ * @author zhenjun cai
+ */
+@XStreamAlias("xml")
+@Data
+public class WxCpTpXmlPackage implements Serializable {
+  private static final long serialVersionUID = 6031833682211475786L;
+
+  /**
+   * 使用dom4j解析的存放所有xml属性和值的map.
+   */
+  private Map<String, Object> allFieldsMap;
+
+  @XStreamAlias("ToUserName")
+  @XStreamConverter(value = XStreamCDataConverter.class)
+  protected String toUserName;
+
+  @XStreamAlias("AgentID")
+  @XStreamConverter(value = XStreamCDataConverter.class)
+  protected String agentId;
+
+  @XStreamAlias("Encrypt")
+  @XStreamConverter(value = XStreamCDataConverter.class)
+  protected String msgEncrypt;
+
+  public static WxCpTpXmlPackage fromXml(String xml) {
+    //修改微信变态的消息内容格式,方便解析
+    //xml = xml.replace("</PicList><PicList>", "");
+    final WxCpTpXmlPackage xmlPackage = XStreamTransformer.fromXml(WxCpTpXmlPackage.class, xml);
+    xmlPackage.setAllFieldsMap(XmlUtils.xml2Map(xml));
+    return xmlPackage;
+  }
+}

+ 28 - 0
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpTpXmlPackageTest.java

@@ -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");
+  }
+}