From 10c396e48f98bbfcf27e249931c40907545a9cbc Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 22 Jul 2021 15:07:39 +0800 Subject: [PATCH] =?UTF-8?q?test(tenpayv3):=20=E6=8F=90=E4=BE=9B=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E5=93=8D=E5=BA=94=E9=AA=8C=E7=AD=BE=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TestClients.cs | 6 +++++- .../WechatTenpayResponseVerificationTests.cs | 11 +++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs index 1f91832f..919f8b45 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs @@ -6,15 +6,19 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { static TestClients() { + GlobalCertificateStorer = new Settings.InMemoryCertificateStorer(); Instance = new WechatTenpayClient(new WechatTenpayClientOptions() { MerchantId = TestConfigs.WechatMerchantId, MerchantV3Secret = TestConfigs.WechatMerchantSecret, MerchantCertSerialNumber = TestConfigs.WechatMerchantCertSerialNumber, - MerchantCertPrivateKey = TestConfigs.WechatMerchantCertPrivateKey + MerchantCertPrivateKey = TestConfigs.WechatMerchantCertPrivateKey, + CertificateStorer = GlobalCertificateStorer }); } + public static readonly Settings.ICertificateStorer GlobalCertificateStorer; + public static readonly WechatTenpayClient Instance; } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseVerificationTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseVerificationTests.cs index 12b3e907..9b9eef57 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseVerificationTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseVerificationTests.cs @@ -22,13 +22,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests Assert.NotNull(response.WechatpaySignature); TestClients.Instance.DecryptResponseEncryptedData(ref response); - var certificateModel = response.CertificateList.SingleOrDefault(e => e.SerialNumber == response.WechatpayCertSerialNumber); - Assert.NotNull(certificateModel); + foreach (var certificateModel in response.CertificateList) + { + TestClients.GlobalCertificateStorer.Set(certificateModel.SerialNumber, certificateModel.EncryptCertificate.CipherText); + } - // 通过证书验证签名 - Assert.True(TestClients.Instance.VerifyResponseSignatureByCertificate(response, certificate: certificateModel.EncryptCertificate.CipherText)); - // 通过公钥验证签名 - Assert.True(TestClients.Instance.VerifyResponseSignature(response, publicKey: Utilities.RSAUtility.ExportPublicKey(certificateModel.EncryptCertificate.CipherText))); + Assert.True(TestClients.Instance.VerifyResponseSignature(response)); } } }