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