From 31fe0f969048b8bc88ef65db38fffa95ad354264 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 2 Aug 2021 21:52:10 +0800 Subject: [PATCH] =?UTF-8?q?test(work):=20=E6=96=B0=E5=A2=9E=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=BA=8B=E4=BB=B6=E7=9A=84=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WechatWorkEventDeserializationTests.cs | 37 +++++++++++++++++++ .../WechatWorkEventVerificationTests.cs | 33 +++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/WechatWorkEventDeserializationTests.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/WechatWorkEventVerificationTests.cs 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); + } + } +}