diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/WechatWorkEventDeserializationTests.cs b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/WechatWorkEventDeserializationTests.cs
new file mode 100644
index 00000000..46f33f17
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/WechatWorkEventDeserializationTests.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+using Xunit;
+
+namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests
+{
+ public class WechatWorkEventDeserializationTests
+ {
+ [Fact(DisplayName = "验签并解密回调数据")]
+ public void GetEventMessageTypeTest()
+ {
+ string callbacMsgSig = "477715d11cdb4164915debcba66cb864d751f3e6";
+ string callbacTimeStamp = "1409659813";
+ string callbacNonce = "1372623149";
+ string callbackXml = "";
+
+ var options = new WechatWorkClientOptions()
+ {
+ CorpId = "wx5823bf96d3bd56c7",
+ PushEncodingAESKey = "jWmYm7qr5nMoAUwZRjGtBxmz3KA1tkAj3ykkR6q2B2C",
+ PushToken = "QDG6eK"
+ };
+ var client = new WechatWorkClient(options);
+ var eventModel = client.DeserializeEventFromXml(callbackXml);
+
+ Assert.True(client.VerifyEventSignatureFromXml(callbacTimeStamp, callbacNonce, callbackXml, callbacMsgSig));
+ Assert.Equal("text", eventModel.MessageType, ignoreCase: true);
+ Assert.Equal("hello", eventModel.Content);
+ Assert.Equal("wx5823bf96d3bd56c7", eventModel.ToUserName);
+ Assert.Equal("mycreate", eventModel.FromUserName);
+ }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/WechatWorkEventVerificationTests.cs b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/WechatWorkEventVerificationTests.cs
new file mode 100644
index 00000000..6beff27f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/WechatWorkEventVerificationTests.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+using Xunit;
+
+namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests
+{
+ public class WechatWorkEventVerificationTests
+ {
+ [Fact(DisplayName = "验证微信服务器")]
+ public void GetEventMessageTypeTest()
+ {
+ string callbacMsgSig = "5c45ff5e21c57e6ad56bac8758b79b1d9ac89fd3";
+ string callbacTimeStamp = "1409659589";
+ string callbacNonce = "263014780";
+ string callbackEcho = "P9nAzCzyDtyTWESHep1vC5X9xho/qYX3Zpb4yKa9SKld1DsH3Iyt3tP3zNdtp+4RPcs8TgAE7OaBO+FZXvnaqQ==";
+
+ var options = new WechatWorkClientOptions()
+ {
+ CorpId = "wx5823bf96d3bd56c7",
+ PushEncodingAESKey = "jWmYm7qr5nMoAUwZRjGtBxmz3KA1tkAj3ykkR6q2B2C",
+ PushToken = "QDG6eK"
+ };
+ var client = new WechatWorkClient(options);
+
+ Assert.True(client.VerifyEventSignatureForEcho(callbacTimeStamp, callbacNonce, callbackEcho, callbacMsgSig, out string replyEcho));
+ Assert.Equal("1616140317555161061", replyEcho);
+ }
+ }
+}