From 23346ceab11878a3d166318aa405cbdb121a9dd7 Mon Sep 17 00:00:00 2001 From: fudiwei Date: Mon, 28 Nov 2022 12:10:04 +0800 Subject: [PATCH] =?UTF-8?q?test(tenpayv3):=20=E8=A1=A5=E5=85=85=E5=9F=BA?= =?UTF-8?q?=E4=BA=8E=E5=9B=BD=E5=AF=86=E7=AE=97=E6=B3=95=E7=9A=84=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=AB=AF=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Utilities/SM3Utility.cs | 4 --- .../Utilities/RSAUtility.cs | 1 - .../Utilities/SM2Utility.cs | 1 + .../Utilities/SM3Utility.cs | 4 --- .../TestCase_ApiExecuteBillTests.cs | 6 ++-- ...Case_ApiExecuteCombineTransactionsTests.cs | 12 ++++---- ...tCase_ApiExecuteMarketingBusifavorTests.cs | 10 +++---- .../TestCase_ApiExecuteMarketingFavorTests.cs | 18 +++++------ .../TestCase_ApiExecuteMarketingMediaTests.cs | 2 +- ...se_ApiExecuteMarketingPartnershipsTests.cs | 4 +-- ...ApiExecuteMarketingPayGiftActivityTests.cs | 2 +- .../TestCase_ApiExecuteMerchantMediaTests.cs | 4 +-- ...TestCase_ApiExecuteMerchantServiceTests.cs | 16 +++++----- ...TestCase_ApiExecutePayTransactionsTests.cs | 14 ++++----- .../TestCase_ApiExecuteProfitSharingTests.cs | 4 +-- .../TestCase_ApiExecuteRefundTests.cs | 4 +-- .../TestCase_ResponseDecryptionTests.cs | 8 ++--- .../TestCase_ResponseVerificationTests.cs | 20 +++++++++++-- .../TestClients.cs | 30 ++++++++++++------- .../TestConfigs.cs | 12 +++++--- .../appsettings.json | 6 ++-- 21 files changed, 102 insertions(+), 80 deletions(-) diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayBusiness/Utilities/SM3Utility.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayBusiness/Utilities/SM3Utility.cs index 0165cfd7..b6787f6f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayBusiness/Utilities/SM3Utility.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayBusiness/Utilities/SM3Utility.cs @@ -109,7 +109,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayBusiness.Utilities public void BlockUpdate(byte[] input, int inOff, int length) { - //更新当前消息摘要 while ((XBufOff != 0) && (length > 0)) { Update(input[inOff]); @@ -117,7 +116,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayBusiness.Utilities length--; } - //处理完整的消息摘要 while (length > XBuf.Length) { ProcessWord(input, inOff); @@ -127,7 +125,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayBusiness.Utilities ByteCount += XBuf.Length; } - //填充剩余的消息摘要 while (length > 0) { Update(input[inOff]); @@ -141,7 +138,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayBusiness.Utilities { long bitLength = (ByteCount << 3); - //添加字节 Update(unchecked((byte)128)); while (XBufOff != 0) Update(unchecked((byte)0)); diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/RSAUtility.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/RSAUtility.cs index eb856014..7dcdce02 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/RSAUtility.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/RSAUtility.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; using Org.BouncyCastle.Crypto; diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/SM2Utility.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/SM2Utility.cs index ba42b83b..24125f83 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/SM2Utility.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/SM2Utility.cs @@ -473,6 +473,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities /// PKCS#8 公钥(PEM 格式)。 /// 待验证的文本数据。 /// 经 Base64 编码的待验证的签名。 + /// 指示签名结果是否为 ASN.1 编码的形式。(默认值:true) /// 验证结果。 public static bool VerifyWithSM3(string publicKey, string message, string signature, bool asn1Encoding = true) { diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/SM3Utility.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/SM3Utility.cs index 4a470402..ad6e0caa 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/SM3Utility.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Utilities/SM3Utility.cs @@ -109,7 +109,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities public void BlockUpdate(byte[] input, int inOff, int length) { - //更新当前消息摘要 while ((XBufOff != 0) && (length > 0)) { Update(input[inOff]); @@ -117,7 +116,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities length--; } - //处理完整的消息摘要 while (length > XBuf.Length) { ProcessWord(input, inOff); @@ -127,7 +125,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities ByteCount += XBuf.Length; } - //填充剩余的消息摘要 while (length > 0) { Update(input[inOff]); @@ -141,7 +138,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities { long bitLength = (ByteCount << 3); - //添加字节 Update(unchecked((byte)128)); while (XBufOff != 0) Update(unchecked((byte)0)); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteBillTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteBillTests.cs index 10964260..491d7232 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteBillTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteBillTests.cs @@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { BillDateString = "2021-04-05" }; - var response = await TestClients.Instance.ExecuteGetBillTradeBillAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetBillTradeBillAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.HashType); @@ -28,7 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { BillDateString = DateTimeOffset.Now.AddDays(-1).ToString("yyyy-MM-dd") }; - var response = await TestClients.Instance.ExecuteGetBillFundflowBillAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetBillFundflowBillAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.HashType); @@ -43,7 +43,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { DownloadUrl = "https://api.mch.weixin.qq.com/v3/billdownload/file?token=FAKE_TOKEN" }; - var response = await TestClients.Instance.ExecuteDownloadBillFileAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteDownloadBillFileAsync(request); Assert.True(response.IsSuccessful()); Assert.NotEmpty(response.RawBytes); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteCombineTransactionsTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteCombineTransactionsTests.cs index 2dcd3a2a..67fad860 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteCombineTransactionsTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteCombineTransactionsTests.cs @@ -27,7 +27,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests }, NotifyUrl = "http://127.0.0.1" }; - var response = await TestClients.Instance.ExecuteCreateCombineTransactionAppAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreateCombineTransactionAppAsync(request); Assert.NotNull(response.PrepayId); } @@ -66,7 +66,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests }, NotifyUrl = "http://127.0.0.1" }; - var response = await TestClients.Instance.ExecuteCreateCombineTransactionJsapiAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreateCombineTransactionJsapiAsync(request); Assert.NotNull(response.PrepayId); } @@ -92,7 +92,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests }, NotifyUrl = "http://127.0.0.1" }; - var response = await TestClients.Instance.ExecuteCreateCombineTransactionH5Async(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreateCombineTransactionH5Async(request); Assert.NotNull(response.H5Url); } @@ -118,7 +118,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests }, NotifyUrl = "http://127.0.0.1" }; - var response = await TestClients.Instance.ExecuteCreateCombineTransactionNativeAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreateCombineTransactionNativeAsync(request); Assert.NotNull(response.QrcodeUrl); } @@ -130,7 +130,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { CombineOutTradeNumber = "FAKE_OUTTRADENO" }; - var response = await TestClients.Instance.ExecuteGetCombineTransactionByCombineOutTradeNumberAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetCombineTransactionByCombineOutTradeNumberAsync(request); Assert.NotNull(response.CombineAppId); Assert.NotNull(response.CombineMerchantId); @@ -153,7 +153,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests } } }; - var response = await TestClients.Instance.ExecuteCloseCombineTransactionAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCloseCombineTransactionAsync(request); Assert.True(response.IsSuccessful()); } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingBusifavorTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingBusifavorTests.cs index 9b331a48..c507089b 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingBusifavorTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingBusifavorTests.cs @@ -36,7 +36,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests GoodsName = "FAKE_GOODS", CouponCodeMode = "WECHATPAY_MODE" }; - var response = await TestClients.Instance.ExecuteCreateMarketingBusifavorStockAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreateMarketingBusifavorStockAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -49,7 +49,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { StockId = "FAKE_STOCKID" }; - var response = await TestClients.Instance.ExecuteGetMarketingBusifavorStockByStockIdAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetMarketingBusifavorStockByStockIdAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -70,7 +70,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests OpenId = TestConfigs.WechatOpenId, BelongMerchantId = TestConfigs.WechatMerchantId }; - var response = await TestClients.Instance.ExecuteQueryMarketingBusifavorUserCouponsAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingBusifavorUserCouponsAsync(request); Assert.True(response.IsSuccessful()); } @@ -82,7 +82,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { NotifyUrl = "https://FAKE_URL" }; - var response = await TestClients.Instance.ExecuteUpdateMarketingBusifavorCallbackAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteUpdateMarketingBusifavorCallbackAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.NotifyUrl); @@ -92,7 +92,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests public async Task TestExecuteGetMarketingBusifavorCallback() { var request = new Models.GetMarketingBusifavorCallbackRequest(); - var response = await TestClients.Instance.ExecuteGetMarketingBusifavorCallbackAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetMarketingBusifavorCallbackAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.NotifyUrl); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingFavorTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingFavorTests.cs index 29ca322e..34fd1b6c 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingFavorTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingFavorTests.cs @@ -35,7 +35,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests }, IsNoCash = false }; - var response = await TestClients.Instance.ExecuteCreateMarketingFavorStockAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreateMarketingFavorStockAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -48,7 +48,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { StockId = "FAKE_STOCKID" }; - var response = await TestClients.Instance.ExecuteStartMarketingFavorStockAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteStartMarketingFavorStockAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -61,7 +61,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { StockId = "FAKE_STOCKID" }; - var response = await TestClients.Instance.ExecutePauseMarketingFavorStockAsync(request); + var response = await TestClients.InstanceUseRSA.ExecutePauseMarketingFavorStockAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -74,7 +74,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { StockId = "FAKE_STOCKID" }; - var response = await TestClients.Instance.ExecuteRestartMarketingFavorStockAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteRestartMarketingFavorStockAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -87,7 +87,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { StockId = "FAKE_STOCKID" }; - var response = await TestClients.Instance.ExecuteGetMarketingFavorStockByStockIdAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetMarketingFavorStockByStockIdAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -97,7 +97,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests public async Task TestExecuteQueryMarketingFavorStocks() { var request = new Models.QueryMarketingFavorStocksRequest(); - var response = await TestClients.Instance.ExecuteQueryMarketingFavorStocksAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingFavorStocksAsync(request); Assert.True(response.IsSuccessful()); @@ -119,7 +119,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { StockId = "FAKE_STOCKID" }; - var response = await TestClients.Instance.ExecuteQueryMarketingFavorStockMerchantsAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingFavorStockMerchantsAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -133,7 +133,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { StockId = "FAKE_STOCKID" }; - var response = await TestClients.Instance.ExecuteQueryMarketingFavorStockItemsAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingFavorStockItemsAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.StockId); @@ -148,7 +148,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests NotifyUrl = "https://FAKE_URL", Switch = false }; - var response = await TestClients.Instance.ExecuteUpdateMarketingFavorCallbackAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteUpdateMarketingFavorCallbackAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.NotifyUrl); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingMediaTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingMediaTests.cs index 811bec7d..32674558 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingMediaTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingMediaTests.cs @@ -14,7 +14,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests FileName = "FAKE_IMAGE.jpg", FileBytes = Convert.FromBase64String("/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAcABwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KK+bv25viR458H/ABS+E+meDNb8S6YNW1LffWuk22lyRaig1DS7fZePfRuY7QR3cxc2zR3BOwRsWwp8I8Hftl/FD4k+H9G1HVvEnij4dHSbnTJ2hubXQGXxYrHSIypKpc7bS7N9MyqjW92DsH7nGwkfe++3/pP/AMktN97IbTX3X/P/AORfltqfoRRXzTr3xA8eeI7T4i6BdeJ/EXhM/DiyuFm13RrLTmvtZmuJPtGn/ZhdW09v5iWapHKDAVea6wqjZXvnw40rVtC+HuhWWv6m+ta7aafBDqOoNHHGb65WNRLMVjREXe4ZsIiqM8KBxRHVc3p+N/ytr2uvkno7ev4W/O+nezK3jX4TaB8Q9VsL7V7Frm70yNo7WVbmWFoVaa3nONjLz5lrA2eo8vjgsD554v8A+Cf/AMKvHGnaLaX2g6tHb6Bc2d1aR2PiTVLAFrQQi3WXyLhPPjQ28DeVNvRmhRmUsoNezUUdb9tfu2DpY4X4mfs4+E/i54b8RaVrFrq0dv4qntLrUZtM1u+0q7eW1aJ7eSO5tZopoGRoYyDE6E7ec5Oes8NeH4PCfh2w0u1e9lttOt47aJ7y8mvbh0RQoMk8zPLK+By8jM7HJYkkmr1FC0VkG+/T+v0R/9k=") }; - var response = await TestClients.Instance.ExecuteUploadMarketingMediaImageAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteUploadMarketingMediaImageAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.MediaUrl); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingPartnershipsTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingPartnershipsTests.cs index 866ef567..c1697849 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingPartnershipsTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingPartnershipsTests.cs @@ -21,7 +21,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests BusinessType = "FAVOR_STOCK" } }; - var response = await TestClients.Instance.ExecuteBuildMarketingPartnershipAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteBuildMarketingPartnershipAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.State); @@ -42,7 +42,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests BusinessType = "FAVOR_STOCK" } }; - var response = await TestClients.Instance.ExecuteQueryMarketingPartnershipsAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingPartnershipsAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.PartnershipList); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingPayGiftActivityTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingPayGiftActivityTests.cs index 700ea8a2..349569b9 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingPayGiftActivityTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMarketingPayGiftActivityTests.cs @@ -10,7 +10,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests public async Task TestExecuteQueryMarketingPayGiftActivities() { var request = new Models.QueryMarketingPayGiftActivitiesRequest(); - var response = await TestClients.Instance.ExecuteQueryMarketingPayGiftActivitiesAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingPayGiftActivitiesAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.ActivityList); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMerchantMediaTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMerchantMediaTests.cs index f9eec8e2..afb411f7 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMerchantMediaTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMerchantMediaTests.cs @@ -14,7 +14,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests FileName = "FAKE_IMAGE.jpg", FileBytes = Convert.FromBase64String("/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAcABwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KK+bv25viR458H/ABS+E+meDNb8S6YNW1LffWuk22lyRaig1DS7fZePfRuY7QR3cxc2zR3BOwRsWwp8I8Hftl/FD4k+H9G1HVvEnij4dHSbnTJ2hubXQGXxYrHSIypKpc7bS7N9MyqjW92DsH7nGwkfe++3/pP/AMktN97IbTX3X/P/AORfltqfoRRXzTr3xA8eeI7T4i6BdeJ/EXhM/DiyuFm13RrLTmvtZmuJPtGn/ZhdW09v5iWapHKDAVea6wqjZXvnw40rVtC+HuhWWv6m+ta7aafBDqOoNHHGb65WNRLMVjREXe4ZsIiqM8KBxRHVc3p+N/ytr2uvkno7ev4W/O+nezK3jX4TaB8Q9VsL7V7Frm70yNo7WVbmWFoVaa3nONjLz5lrA2eo8vjgsD554v8A+Cf/AMKvHGnaLaX2g6tHb6Bc2d1aR2PiTVLAFrQQi3WXyLhPPjQ28DeVNvRmhRmUsoNezUUdb9tfu2DpY4X4mfs4+E/i54b8RaVrFrq0dv4qntLrUZtM1u+0q7eW1aJ7eSO5tZopoGRoYyDE6E7ec5Oes8NeH4PCfh2w0u1e9lttOt47aJ7y8mvbh0RQoMk8zPLK+By8jM7HJYkkmr1FC0VkG+/T+v0R/9k=") }; - var response = await TestClients.Instance.ExecuteUploadMerchantMediaImageAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteUploadMerchantMediaImageAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.MediaId); @@ -28,7 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests FileName = "FAKE_IMAGE.mp4", FileBytes = Convert.FromBase64String("/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAcABwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KK+bv25viR458H/ABS+E+meDNb8S6YNW1LffWuk22lyRaig1DS7fZePfRuY7QR3cxc2zR3BOwRsWwp8I8Hftl/FD4k+H9G1HVvEnij4dHSbnTJ2hubXQGXxYrHSIypKpc7bS7N9MyqjW92DsH7nGwkfe++3/pP/AMktN97IbTX3X/P/AORfltqfoRRXzTr3xA8eeI7T4i6BdeJ/EXhM/DiyuFm13RrLTmvtZmuJPtGn/ZhdW09v5iWapHKDAVea6wqjZXvnw40rVtC+HuhWWv6m+ta7aafBDqOoNHHGb65WNRLMVjREXe4ZsIiqM8KBxRHVc3p+N/ytr2uvkno7ev4W/O+nezK3jX4TaB8Q9VsL7V7Frm70yNo7WVbmWFoVaa3nONjLz5lrA2eo8vjgsD554v8A+Cf/AMKvHGnaLaX2g6tHb6Bc2d1aR2PiTVLAFrQQi3WXyLhPPjQ28DeVNvRmhRmUsoNezUUdb9tfu2DpY4X4mfs4+E/i54b8RaVrFrq0dv4qntLrUZtM1u+0q7eW1aJ7eSO5tZopoGRoYyDE6E7ec5Oes8NeH4PCfh2w0u1e9lttOt47aJ7y8mvbh0RQoMk8zPLK+By8jM7HJYkkmr1FC0VkG+/T+v0R/9k=") }; - var response = await TestClients.Instance.ExecuteUploadMerchantMediaVideoAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteUploadMerchantMediaVideoAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.MediaId); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMerchantServiceTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMerchantServiceTests.cs index d3ee5067..7bfb00ad 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMerchantServiceTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteMerchantServiceTests.cs @@ -15,7 +15,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests BeginDateString = "2021-01-01", EndDateString = "2021-01-30" }; - var response = await TestClients.Instance.ExecuteQueryMerchantServiceComplaintsAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteQueryMerchantServiceComplaintsAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.ComplaintList); @@ -36,7 +36,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { ComplaintId = "FAKE_COMPLAINTID" }; - var response = await TestClients.Instance.ExecuteGetMerchantServiceComplaintByComplaintIdAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetMerchantServiceComplaintByComplaintIdAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.ComplaintId); @@ -52,7 +52,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { ComplaintId = "FAKE_COMPLAINTID" }; - var response = await TestClients.Instance.ExecuteQueryMerchantServiceComplaintNegotiationHistoriesAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteQueryMerchantServiceComplaintNegotiationHistoriesAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.NegotiationHistoryList); @@ -73,7 +73,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { NotifyUrl = "https://FAKE_URL" }; - var response = await TestClients.Instance.ExecuteCreateMerchantServiceComplaintNotificationAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreateMerchantServiceComplaintNotificationAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.MerchantId); @@ -84,7 +84,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests public async Task TestExecuteGetMerchantServiceComplaintNotification() { var request = new Models.GetMerchantServiceComplaintNotificationRequest(); - var response = await TestClients.Instance.ExecuteGetMerchantServiceComplaintNotificationAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetMerchantServiceComplaintNotificationAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.MerchantId); @@ -98,7 +98,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { NotifyUrl = "https://FAKE_URL" }; - var response = await TestClients.Instance.ExecuteUpdateMerchantServiceComplaintNotificationAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteUpdateMerchantServiceComplaintNotificationAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.MerchantId); @@ -109,7 +109,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests public async Task TestExecuteDeleteMerchantServiceComplaintNotification() { var request = new Models.DeleteMerchantServiceComplaintNotificationRequest(); - var response = await TestClients.Instance.ExecuteDeleteMerchantServiceComplaintNotificationAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteDeleteMerchantServiceComplaintNotificationAsync(request); Assert.True(response.IsSuccessful()); } @@ -122,7 +122,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests FileName = "FAKE_IMAGE.jpg", FileBytes = Convert.FromBase64String("/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAcABwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KK+bv25viR458H/ABS+E+meDNb8S6YNW1LffWuk22lyRaig1DS7fZePfRuY7QR3cxc2zR3BOwRsWwp8I8Hftl/FD4k+H9G1HVvEnij4dHSbnTJ2hubXQGXxYrHSIypKpc7bS7N9MyqjW92DsH7nGwkfe++3/pP/AMktN97IbTX3X/P/AORfltqfoRRXzTr3xA8eeI7T4i6BdeJ/EXhM/DiyuFm13RrLTmvtZmuJPtGn/ZhdW09v5iWapHKDAVea6wqjZXvnw40rVtC+HuhWWv6m+ta7aafBDqOoNHHGb65WNRLMVjREXe4ZsIiqM8KBxRHVc3p+N/ytr2uvkno7ev4W/O+nezK3jX4TaB8Q9VsL7V7Frm70yNo7WVbmWFoVaa3nONjLz5lrA2eo8vjgsD554v8A+Cf/AMKvHGnaLaX2g6tHb6Bc2d1aR2PiTVLAFrQQi3WXyLhPPjQ28DeVNvRmhRmUsoNezUUdb9tfu2DpY4X4mfs4+E/i54b8RaVrFrq0dv4qntLrUZtM1u+0q7eW1aJ7eSO5tZopoGRoYyDE6E7ec5Oes8NeH4PCfh2w0u1e9lttOt47aJ7y8mvbh0RQoMk8zPLK+By8jM7HJYkkmr1FC0VkG+/T+v0R/9k=") }; - var response = await TestClients.Instance.ExecuteUploadMerchantServiceImageAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteUploadMerchantServiceImageAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.MediaId); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecutePayTransactionsTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecutePayTransactionsTests.cs index f054c9a9..9645dd01 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecutePayTransactionsTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecutePayTransactionsTests.cs @@ -20,7 +20,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests Total = 1 } }; - var response = await TestClients.Instance.ExecuteCreatePayTransactionAppAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreatePayTransactionAppAsync(request); Assert.NotNull(response.PrepayId); } @@ -44,7 +44,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests OpenId = TestConfigs.WechatOpenId } }; - var response = await TestClients.Instance.ExecuteCreatePayTransactionJsapiAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreatePayTransactionJsapiAsync(request); Assert.NotNull(response.PrepayId); } @@ -63,7 +63,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests Total = 1 } }; - var response = await TestClients.Instance.ExecuteCreatePayTransactionH5Async(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreatePayTransactionH5Async(request); Assert.NotNull(response.H5Url); } @@ -82,7 +82,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests Total = 1 } }; - var response = await TestClients.Instance.ExecuteCreatePayTransactionNativeAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreatePayTransactionNativeAsync(request); Assert.NotNull(response.QrcodeUrl); } @@ -94,7 +94,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { TransactionId = "FAKE_TRANSACTIONID" }; - var response = await TestClients.Instance.ExecuteGetPayTransactionByIdAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetPayTransactionByIdAsync(request); Assert.NotNull(response.AppId); Assert.NotNull(response.MerchantId); @@ -112,7 +112,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { OutTradeNumber = "FAKE_OUTTRADENO" }; - var response = await TestClients.Instance.ExecuteGetPayTransactionByOutTradeNumberAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetPayTransactionByOutTradeNumberAsync(request); Assert.NotNull(response.AppId); Assert.NotNull(response.MerchantId); @@ -129,7 +129,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { OutTradeNumber = "TEST20210419193742518" }; - var response = await TestClients.Instance.ExecuteClosePayTransactionAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteClosePayTransactionAsync(request); Assert.True(response.IsSuccessful()); } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteProfitSharingTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteProfitSharingTests.cs index 7ad19d98..b7c3e451 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteProfitSharingTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteProfitSharingTests.cs @@ -18,8 +18,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests Name = "NAME", Type = "PERSONAL_OPENID" }; - TestClients.Instance.EncryptRequestSensitiveProperty(request); - var response = await TestClients.Instance.ExecuteAddProfitSharingReceiverAsync(request); + TestClients.InstanceUseRSA.EncryptRequestSensitiveProperty(request); + var response = await TestClients.InstanceUseRSA.ExecuteAddProfitSharingReceiverAsync(request); Assert.True(response.IsSuccessful()); } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteRefundTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteRefundTests.cs index 51ed3a22..89bbf416 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteRefundTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ApiExecuteRefundTests.cs @@ -20,7 +20,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests }, Reason = "FAKE_REASON" }; - var response = await TestClients.Instance.ExecuteCreateRefundDomesticRefundAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteCreateRefundDomesticRefundAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.OutRefundNumber); @@ -40,7 +40,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { OutRefundNumber = "FAKE_OUTREFUNDNO" }; - var response = await TestClients.Instance.ExecuteGetRefundDomesticRefundByOutRefundNumberAsync(request); + var response = await TestClients.InstanceUseRSA.ExecuteGetRefundDomesticRefundByOutRefundNumberAsync(request); Assert.True(response.IsSuccessful()); Assert.NotNull(response.RefundId); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ResponseDecryptionTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ResponseDecryptionTests.cs index 566eef45..23e370ad 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ResponseDecryptionTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ResponseDecryptionTests.cs @@ -26,8 +26,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { MerchantId = TestConfigs.WechatMerchantId, MerchantV3Secret = TestConfigs.WechatMerchantSecret, - MerchantCertificateSerialNumber = TestConfigs.WechatMerchantCertificateSerialNumber, - MerchantCertificatePrivateKey = TestConfigs.WechatMerchantCertificatePrivateKey, + MerchantCertificateSerialNumber = TestConfigs.WechatMerchantRSACertificateSerialNumber, + MerchantCertificatePrivateKey = TestConfigs.WechatMerchantRSACertificatePrivateKey, AutoEncryptRequestSensitiveProperty = true, AutoDecryptResponseSensitiveProperty = true }); @@ -39,8 +39,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { MerchantId = TestConfigs.WechatMerchantId, MerchantV3Secret = TestConfigs.WechatMerchantSecret, - MerchantCertificateSerialNumber = TestConfigs.WechatMerchantCertificateSerialNumber, - MerchantCertificatePrivateKey = TestConfigs.WechatMerchantCertificatePrivateKey, + MerchantCertificateSerialNumber = TestConfigs.WechatMerchantRSACertificateSerialNumber, + MerchantCertificatePrivateKey = TestConfigs.WechatMerchantRSACertificatePrivateKey, AutoEncryptRequestSensitiveProperty = false, AutoDecryptResponseSensitiveProperty = false }); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ResponseVerificationTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ResponseVerificationTests.cs index 94177c96..3b795025 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ResponseVerificationTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestCase_ResponseVerificationTests.cs @@ -10,13 +10,27 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { await TestClients.InitializeCertificateManagerAsync(); - var request = new Models.QueryCertificatesRequest(); - var response = await TestClients.Instance.ExecuteQueryCertificatesAsync(request); + var request = new Models.QueryCertificatesRequest() { AlgorithmType = "RSA" }; + var response = await TestClients.InstanceUseRSA.ExecuteQueryCertificatesAsync(request); Assert.True(response.RawStatus == 200); Assert.True(response.RawHeaders.Count > 0); Assert.True(response.RawBytes.Length > 0); - Assert.True(TestClients.Instance.VerifyResponseSignature(response)); + Assert.True(TestClients.InstanceUseRSA.VerifyResponseSignature(response)); + Assert.NotNull(response.WechatpayRequestId); + Assert.NotNull(response.WechatpayNonce); + Assert.NotNull(response.WechatpayTimestamp); + Assert.NotNull(response.WechatpaySignature); + Assert.NotNull(response.WechatpaySignatureType); + Assert.NotNull(response.WechatpayCertificateSerialNumber); + + request = new Models.QueryCertificatesRequest() { AlgorithmType = "SM2" }; + response = await TestClients.InstanceUseSM2.ExecuteQueryCertificatesAsync(request); + + Assert.True(response.RawStatus == 200); + Assert.True(response.RawHeaders.Count > 0); + Assert.True(response.RawBytes.Length > 0); + Assert.True(TestClients.InstanceUseSM2.VerifyResponseSignature(response)); Assert.NotNull(response.WechatpayRequestId); Assert.NotNull(response.WechatpayNonce); Assert.NotNull(response.WechatpayTimestamp); diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs index 05debe66..87abdcb3 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs @@ -7,31 +7,41 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests { static TestClients() { - var certificateManager = new Settings.InMemoryCertificateManager(); - Instance = new WechatTenpayClient(new WechatTenpayClientOptions() + var manager = new Settings.InMemoryCertificateManager(); + InstanceUseRSA = new WechatTenpayClient(new WechatTenpayClientOptions() { MerchantId = TestConfigs.WechatMerchantId, MerchantV3Secret = TestConfigs.WechatMerchantSecret, - MerchantCertificateSerialNumber = TestConfigs.WechatMerchantCertificateSerialNumber, - MerchantCertificatePrivateKey = TestConfigs.WechatMerchantCertificatePrivateKey, - PlatformCertificateManager = certificateManager + MerchantCertificateSerialNumber = TestConfigs.WechatMerchantRSACertificateSerialNumber, + MerchantCertificatePrivateKey = TestConfigs.WechatMerchantRSACertificatePrivateKey, + PlatformCertificateManager = manager + }); + InstanceUseSM2 = new WechatTenpayClient(new WechatTenpayClientOptions() + { + MerchantId = TestConfigs.WechatMerchantId, + MerchantV3Secret = TestConfigs.WechatMerchantSecret, + SignScheme = Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, + MerchantCertificateSerialNumber = TestConfigs.WechatMerchantSM2CertificateSerialNumber!, + MerchantCertificatePrivateKey = TestConfigs.WechatMerchantSM2CertificatePrivateKey!, + PlatformCertificateManager = manager }); } internal static async Task InitializeCertificateManagerAsync() { - var request = new Models.QueryCertificatesRequest(); - var response = await Instance.ExecuteQueryCertificatesAsync(request); + var request = new Models.QueryCertificatesRequest() { AlgorithmType = "ALL" }; + var response = await InstanceUseRSA.ExecuteQueryCertificatesAsync(request); if (!response.IsSuccessful()) throw new Exception(); - foreach (var certificate in Instance.DecryptResponseSensitiveProperty(response).CertificateList) + foreach (var certificate in InstanceUseRSA.DecryptResponseSensitiveProperty(response).CertificateList) { - Instance.PlatformCertificateManager.AddEntry(new Settings.CertificateEntry(certificate)); + InstanceUseRSA.PlatformCertificateManager.AddEntry(new Settings.CertificateEntry(certificate)); } } - public static readonly WechatTenpayClient Instance; + public static readonly WechatTenpayClient InstanceUseRSA; + public static readonly WechatTenpayClient InstanceUseSM2; } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestConfigs.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestConfigs.cs index 9b0856dc..8b7be3ac 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestConfigs.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestConfigs.cs @@ -19,8 +19,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests var config = jdoc.RootElement.GetProperty("TestConfig"); WechatMerchantId = config.GetProperty("MerchantId").GetString()!; WechatMerchantSecret = config.GetProperty("MerchantSecret").GetString()!; - WechatMerchantCertificateSerialNumber = config.GetProperty("MerchantCertificateSerialNumber").GetString()!; - WechatMerchantCertificatePrivateKey = config.GetProperty("MerchantCertificatePrivateKey").GetString()!; + WechatMerchantRSACertificateSerialNumber = config.GetProperty("MerchantRSACertificateSerialNumber").GetString()!; + WechatMerchantRSACertificatePrivateKey = config.GetProperty("MerchantRSACertificatePrivateKey").GetString()!; + WechatMerchantSM2CertificateSerialNumber = config.GetProperty("MerchantSM2CertificateSerialNumber").GetString(); + WechatMerchantSM2CertificatePrivateKey = config.GetProperty("MerchantSM2CertificatePrivateKey").GetString(); WechatAppId = config.GetProperty("AppId").GetString()!; WechatOpenId = config.GetProperty("OpenId").GetString()!; @@ -35,8 +37,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests public static readonly string WechatMerchantId; public static readonly string WechatMerchantSecret; - public static readonly string WechatMerchantCertificateSerialNumber; - public static readonly string WechatMerchantCertificatePrivateKey; + public static readonly string WechatMerchantRSACertificateSerialNumber; + public static readonly string WechatMerchantRSACertificatePrivateKey; + public static readonly string? WechatMerchantSM2CertificateSerialNumber; + public static readonly string? WechatMerchantSM2CertificatePrivateKey; public static readonly string WechatAppId; public static readonly string WechatOpenId; diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/appsettings.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/appsettings.json index 245d1957..286f3bf2 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/appsettings.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/appsettings.json @@ -2,8 +2,10 @@ "TestConfig": { "MerchantId": "请在此填写用于测试的微信商户号", "MerchantSecret": "请在此填写用于测试的微信商户 API v3 密钥", - "MerchantCertificateSerialNumber": "请在此填写用于测试的微信商户 API 证书序列号", - "MerchantCertificatePrivateKey": "请在此填写用于测试的微信商户 API 证书私钥(字符串格式)", + "MerchantRSACertificateSerialNumber": "请在此填写用于测试的微信商户基于 RSA 算法的 API 证书序列号", + "MerchantRSACertificatePrivateKey": "请在此填写用于测试的微信商户基于 RSA 算法的 API 证书私钥(字符串格式)", + "MerchantSM2CertificateSerialNumber": "请在此填写用于测试的微信商户基于 SM2 算法的 API 证书序列号", + "MerchantSM2CertificatePrivateKey": "请在此填写用于测试的微信商户基于 SM2 算法的 API 证书私钥(字符串格式)", "AppId": "请在此填写用于测试的微信 AppId", "OpenId": "请在此填写用于测试的微信用户唯一标识" },