mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-16 16:50:43 +08:00
test(tenpayv3): 补充基于国密算法的客户端测试
This commit is contained in:
parent
c75c68bde7
commit
23346ceab1
@ -109,7 +109,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayBusiness.Utilities
|
|||||||
|
|
||||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||||
{
|
{
|
||||||
//更新当前消息摘要
|
|
||||||
while ((XBufOff != 0) && (length > 0))
|
while ((XBufOff != 0) && (length > 0))
|
||||||
{
|
{
|
||||||
Update(input[inOff]);
|
Update(input[inOff]);
|
||||||
@ -117,7 +116,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayBusiness.Utilities
|
|||||||
length--;
|
length--;
|
||||||
}
|
}
|
||||||
|
|
||||||
//处理完整的消息摘要
|
|
||||||
while (length > XBuf.Length)
|
while (length > XBuf.Length)
|
||||||
{
|
{
|
||||||
ProcessWord(input, inOff);
|
ProcessWord(input, inOff);
|
||||||
@ -127,7 +125,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayBusiness.Utilities
|
|||||||
ByteCount += XBuf.Length;
|
ByteCount += XBuf.Length;
|
||||||
}
|
}
|
||||||
|
|
||||||
//填充剩余的消息摘要
|
|
||||||
while (length > 0)
|
while (length > 0)
|
||||||
{
|
{
|
||||||
Update(input[inOff]);
|
Update(input[inOff]);
|
||||||
@ -141,7 +138,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayBusiness.Utilities
|
|||||||
{
|
{
|
||||||
long bitLength = (ByteCount << 3);
|
long bitLength = (ByteCount << 3);
|
||||||
|
|
||||||
//添加字节
|
|
||||||
Update(unchecked((byte)128));
|
Update(unchecked((byte)128));
|
||||||
|
|
||||||
while (XBufOff != 0) Update(unchecked((byte)0));
|
while (XBufOff != 0) Update(unchecked((byte)0));
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Security.Cryptography;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using Org.BouncyCastle.Crypto;
|
using Org.BouncyCastle.Crypto;
|
||||||
|
@ -473,6 +473,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities
|
|||||||
/// <param name="publicKey">PKCS#8 公钥(PEM 格式)。</param>
|
/// <param name="publicKey">PKCS#8 公钥(PEM 格式)。</param>
|
||||||
/// <param name="message">待验证的文本数据。</param>
|
/// <param name="message">待验证的文本数据。</param>
|
||||||
/// <param name="signature">经 Base64 编码的待验证的签名。</param>
|
/// <param name="signature">经 Base64 编码的待验证的签名。</param>
|
||||||
|
/// <param name="asn1Encoding">指示签名结果是否为 ASN.1 编码的形式。(默认值:true)</param>
|
||||||
/// <returns>验证结果。</returns>
|
/// <returns>验证结果。</returns>
|
||||||
public static bool VerifyWithSM3(string publicKey, string message, string signature, bool asn1Encoding = true)
|
public static bool VerifyWithSM3(string publicKey, string message, string signature, bool asn1Encoding = true)
|
||||||
{
|
{
|
||||||
|
@ -109,7 +109,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities
|
|||||||
|
|
||||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||||
{
|
{
|
||||||
//更新当前消息摘要
|
|
||||||
while ((XBufOff != 0) && (length > 0))
|
while ((XBufOff != 0) && (length > 0))
|
||||||
{
|
{
|
||||||
Update(input[inOff]);
|
Update(input[inOff]);
|
||||||
@ -117,7 +116,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities
|
|||||||
length--;
|
length--;
|
||||||
}
|
}
|
||||||
|
|
||||||
//处理完整的消息摘要
|
|
||||||
while (length > XBuf.Length)
|
while (length > XBuf.Length)
|
||||||
{
|
{
|
||||||
ProcessWord(input, inOff);
|
ProcessWord(input, inOff);
|
||||||
@ -127,7 +125,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities
|
|||||||
ByteCount += XBuf.Length;
|
ByteCount += XBuf.Length;
|
||||||
}
|
}
|
||||||
|
|
||||||
//填充剩余的消息摘要
|
|
||||||
while (length > 0)
|
while (length > 0)
|
||||||
{
|
{
|
||||||
Update(input[inOff]);
|
Update(input[inOff]);
|
||||||
@ -141,7 +138,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities
|
|||||||
{
|
{
|
||||||
long bitLength = (ByteCount << 3);
|
long bitLength = (ByteCount << 3);
|
||||||
|
|
||||||
//添加字节
|
|
||||||
Update(unchecked((byte)128));
|
Update(unchecked((byte)128));
|
||||||
|
|
||||||
while (XBufOff != 0) Update(unchecked((byte)0));
|
while (XBufOff != 0) Update(unchecked((byte)0));
|
||||||
|
@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
BillDateString = "2021-04-05"
|
BillDateString = "2021-04-05"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteGetBillTradeBillAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetBillTradeBillAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.HashType);
|
Assert.NotNull(response.HashType);
|
||||||
@ -28,7 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
BillDateString = DateTimeOffset.Now.AddDays(-1).ToString("yyyy-MM-dd")
|
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.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.HashType);
|
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"
|
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.True(response.IsSuccessful());
|
||||||
Assert.NotEmpty(response.RawBytes);
|
Assert.NotEmpty(response.RawBytes);
|
||||||
|
@ -27,7 +27,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
},
|
},
|
||||||
NotifyUrl = "http://127.0.0.1"
|
NotifyUrl = "http://127.0.0.1"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreateCombineTransactionAppAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreateCombineTransactionAppAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.PrepayId);
|
Assert.NotNull(response.PrepayId);
|
||||||
}
|
}
|
||||||
@ -66,7 +66,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
},
|
},
|
||||||
NotifyUrl = "http://127.0.0.1"
|
NotifyUrl = "http://127.0.0.1"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreateCombineTransactionJsapiAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreateCombineTransactionJsapiAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.PrepayId);
|
Assert.NotNull(response.PrepayId);
|
||||||
}
|
}
|
||||||
@ -92,7 +92,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
},
|
},
|
||||||
NotifyUrl = "http://127.0.0.1"
|
NotifyUrl = "http://127.0.0.1"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreateCombineTransactionH5Async(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreateCombineTransactionH5Async(request);
|
||||||
|
|
||||||
Assert.NotNull(response.H5Url);
|
Assert.NotNull(response.H5Url);
|
||||||
}
|
}
|
||||||
@ -118,7 +118,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
},
|
},
|
||||||
NotifyUrl = "http://127.0.0.1"
|
NotifyUrl = "http://127.0.0.1"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreateCombineTransactionNativeAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreateCombineTransactionNativeAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.QrcodeUrl);
|
Assert.NotNull(response.QrcodeUrl);
|
||||||
}
|
}
|
||||||
@ -130,7 +130,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
CombineOutTradeNumber = "FAKE_OUTTRADENO"
|
CombineOutTradeNumber = "FAKE_OUTTRADENO"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteGetCombineTransactionByCombineOutTradeNumberAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetCombineTransactionByCombineOutTradeNumberAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.CombineAppId);
|
Assert.NotNull(response.CombineAppId);
|
||||||
Assert.NotNull(response.CombineMerchantId);
|
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());
|
Assert.True(response.IsSuccessful());
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
GoodsName = "FAKE_GOODS",
|
GoodsName = "FAKE_GOODS",
|
||||||
CouponCodeMode = "WECHATPAY_MODE"
|
CouponCodeMode = "WECHATPAY_MODE"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreateMarketingBusifavorStockAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreateMarketingBusifavorStockAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -49,7 +49,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
StockId = "FAKE_STOCKID"
|
StockId = "FAKE_STOCKID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteGetMarketingBusifavorStockByStockIdAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetMarketingBusifavorStockByStockIdAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -70,7 +70,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
OpenId = TestConfigs.WechatOpenId,
|
OpenId = TestConfigs.WechatOpenId,
|
||||||
BelongMerchantId = TestConfigs.WechatMerchantId
|
BelongMerchantId = TestConfigs.WechatMerchantId
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteQueryMarketingBusifavorUserCouponsAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingBusifavorUserCouponsAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
}
|
}
|
||||||
@ -82,7 +82,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
NotifyUrl = "https://FAKE_URL"
|
NotifyUrl = "https://FAKE_URL"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteUpdateMarketingBusifavorCallbackAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteUpdateMarketingBusifavorCallbackAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.NotifyUrl);
|
Assert.NotNull(response.NotifyUrl);
|
||||||
@ -92,7 +92,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
public async Task TestExecuteGetMarketingBusifavorCallback()
|
public async Task TestExecuteGetMarketingBusifavorCallback()
|
||||||
{
|
{
|
||||||
var request = new Models.GetMarketingBusifavorCallbackRequest();
|
var request = new Models.GetMarketingBusifavorCallbackRequest();
|
||||||
var response = await TestClients.Instance.ExecuteGetMarketingBusifavorCallbackAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetMarketingBusifavorCallbackAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.NotifyUrl);
|
Assert.NotNull(response.NotifyUrl);
|
||||||
|
@ -35,7 +35,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
},
|
},
|
||||||
IsNoCash = false
|
IsNoCash = false
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreateMarketingFavorStockAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreateMarketingFavorStockAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -48,7 +48,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
StockId = "FAKE_STOCKID"
|
StockId = "FAKE_STOCKID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteStartMarketingFavorStockAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteStartMarketingFavorStockAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -61,7 +61,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
StockId = "FAKE_STOCKID"
|
StockId = "FAKE_STOCKID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecutePauseMarketingFavorStockAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecutePauseMarketingFavorStockAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -74,7 +74,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
StockId = "FAKE_STOCKID"
|
StockId = "FAKE_STOCKID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteRestartMarketingFavorStockAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteRestartMarketingFavorStockAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -87,7 +87,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
StockId = "FAKE_STOCKID"
|
StockId = "FAKE_STOCKID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteGetMarketingFavorStockByStockIdAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetMarketingFavorStockByStockIdAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -97,7 +97,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
public async Task TestExecuteQueryMarketingFavorStocks()
|
public async Task TestExecuteQueryMarketingFavorStocks()
|
||||||
{
|
{
|
||||||
var request = new Models.QueryMarketingFavorStocksRequest();
|
var request = new Models.QueryMarketingFavorStocksRequest();
|
||||||
var response = await TestClients.Instance.ExecuteQueryMarketingFavorStocksAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingFavorStocksAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
StockId = "FAKE_STOCKID"
|
StockId = "FAKE_STOCKID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteQueryMarketingFavorStockMerchantsAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingFavorStockMerchantsAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -133,7 +133,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
StockId = "FAKE_STOCKID"
|
StockId = "FAKE_STOCKID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteQueryMarketingFavorStockItemsAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingFavorStockItemsAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.StockId);
|
Assert.NotNull(response.StockId);
|
||||||
@ -148,7 +148,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
NotifyUrl = "https://FAKE_URL",
|
NotifyUrl = "https://FAKE_URL",
|
||||||
Switch = false
|
Switch = false
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteUpdateMarketingFavorCallbackAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteUpdateMarketingFavorCallbackAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.NotifyUrl);
|
Assert.NotNull(response.NotifyUrl);
|
||||||
|
@ -14,7 +14,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
FileName = "FAKE_IMAGE.jpg",
|
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=")
|
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.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.MediaUrl);
|
Assert.NotNull(response.MediaUrl);
|
||||||
|
@ -21,7 +21,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
BusinessType = "FAVOR_STOCK"
|
BusinessType = "FAVOR_STOCK"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteBuildMarketingPartnershipAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteBuildMarketingPartnershipAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.State);
|
Assert.NotNull(response.State);
|
||||||
@ -42,7 +42,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
BusinessType = "FAVOR_STOCK"
|
BusinessType = "FAVOR_STOCK"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteQueryMarketingPartnershipsAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingPartnershipsAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.PartnershipList);
|
Assert.NotNull(response.PartnershipList);
|
||||||
|
@ -10,7 +10,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
public async Task TestExecuteQueryMarketingPayGiftActivities()
|
public async Task TestExecuteQueryMarketingPayGiftActivities()
|
||||||
{
|
{
|
||||||
var request = new Models.QueryMarketingPayGiftActivitiesRequest();
|
var request = new Models.QueryMarketingPayGiftActivitiesRequest();
|
||||||
var response = await TestClients.Instance.ExecuteQueryMarketingPayGiftActivitiesAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryMarketingPayGiftActivitiesAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.ActivityList);
|
Assert.NotNull(response.ActivityList);
|
||||||
|
@ -14,7 +14,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
FileName = "FAKE_IMAGE.jpg",
|
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=")
|
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.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.MediaId);
|
Assert.NotNull(response.MediaId);
|
||||||
@ -28,7 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
FileName = "FAKE_IMAGE.mp4",
|
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=")
|
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.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.MediaId);
|
Assert.NotNull(response.MediaId);
|
||||||
|
@ -15,7 +15,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
BeginDateString = "2021-01-01",
|
BeginDateString = "2021-01-01",
|
||||||
EndDateString = "2021-01-30"
|
EndDateString = "2021-01-30"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteQueryMerchantServiceComplaintsAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryMerchantServiceComplaintsAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.ComplaintList);
|
Assert.NotNull(response.ComplaintList);
|
||||||
@ -36,7 +36,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
ComplaintId = "FAKE_COMPLAINTID"
|
ComplaintId = "FAKE_COMPLAINTID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteGetMerchantServiceComplaintByComplaintIdAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetMerchantServiceComplaintByComplaintIdAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.ComplaintId);
|
Assert.NotNull(response.ComplaintId);
|
||||||
@ -52,7 +52,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
ComplaintId = "FAKE_COMPLAINTID"
|
ComplaintId = "FAKE_COMPLAINTID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteQueryMerchantServiceComplaintNegotiationHistoriesAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryMerchantServiceComplaintNegotiationHistoriesAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.NegotiationHistoryList);
|
Assert.NotNull(response.NegotiationHistoryList);
|
||||||
@ -73,7 +73,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
NotifyUrl = "https://FAKE_URL"
|
NotifyUrl = "https://FAKE_URL"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreateMerchantServiceComplaintNotificationAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreateMerchantServiceComplaintNotificationAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.MerchantId);
|
Assert.NotNull(response.MerchantId);
|
||||||
@ -84,7 +84,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
public async Task TestExecuteGetMerchantServiceComplaintNotification()
|
public async Task TestExecuteGetMerchantServiceComplaintNotification()
|
||||||
{
|
{
|
||||||
var request = new Models.GetMerchantServiceComplaintNotificationRequest();
|
var request = new Models.GetMerchantServiceComplaintNotificationRequest();
|
||||||
var response = await TestClients.Instance.ExecuteGetMerchantServiceComplaintNotificationAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetMerchantServiceComplaintNotificationAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.MerchantId);
|
Assert.NotNull(response.MerchantId);
|
||||||
@ -98,7 +98,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
NotifyUrl = "https://FAKE_URL"
|
NotifyUrl = "https://FAKE_URL"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteUpdateMerchantServiceComplaintNotificationAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteUpdateMerchantServiceComplaintNotificationAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.MerchantId);
|
Assert.NotNull(response.MerchantId);
|
||||||
@ -109,7 +109,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
public async Task TestExecuteDeleteMerchantServiceComplaintNotification()
|
public async Task TestExecuteDeleteMerchantServiceComplaintNotification()
|
||||||
{
|
{
|
||||||
var request = new Models.DeleteMerchantServiceComplaintNotificationRequest();
|
var request = new Models.DeleteMerchantServiceComplaintNotificationRequest();
|
||||||
var response = await TestClients.Instance.ExecuteDeleteMerchantServiceComplaintNotificationAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteDeleteMerchantServiceComplaintNotificationAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
}
|
}
|
||||||
@ -122,7 +122,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
FileName = "FAKE_IMAGE.jpg",
|
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=")
|
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.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.MediaId);
|
Assert.NotNull(response.MediaId);
|
||||||
|
@ -20,7 +20,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
Total = 1
|
Total = 1
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreatePayTransactionAppAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreatePayTransactionAppAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.PrepayId);
|
Assert.NotNull(response.PrepayId);
|
||||||
}
|
}
|
||||||
@ -44,7 +44,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
OpenId = TestConfigs.WechatOpenId
|
OpenId = TestConfigs.WechatOpenId
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreatePayTransactionJsapiAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreatePayTransactionJsapiAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.PrepayId);
|
Assert.NotNull(response.PrepayId);
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
Total = 1
|
Total = 1
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreatePayTransactionH5Async(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreatePayTransactionH5Async(request);
|
||||||
|
|
||||||
Assert.NotNull(response.H5Url);
|
Assert.NotNull(response.H5Url);
|
||||||
}
|
}
|
||||||
@ -82,7 +82,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
Total = 1
|
Total = 1
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreatePayTransactionNativeAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreatePayTransactionNativeAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.QrcodeUrl);
|
Assert.NotNull(response.QrcodeUrl);
|
||||||
}
|
}
|
||||||
@ -94,7 +94,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
TransactionId = "FAKE_TRANSACTIONID"
|
TransactionId = "FAKE_TRANSACTIONID"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteGetPayTransactionByIdAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetPayTransactionByIdAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.AppId);
|
Assert.NotNull(response.AppId);
|
||||||
Assert.NotNull(response.MerchantId);
|
Assert.NotNull(response.MerchantId);
|
||||||
@ -112,7 +112,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
OutTradeNumber = "FAKE_OUTTRADENO"
|
OutTradeNumber = "FAKE_OUTTRADENO"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteGetPayTransactionByOutTradeNumberAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetPayTransactionByOutTradeNumberAsync(request);
|
||||||
|
|
||||||
Assert.NotNull(response.AppId);
|
Assert.NotNull(response.AppId);
|
||||||
Assert.NotNull(response.MerchantId);
|
Assert.NotNull(response.MerchantId);
|
||||||
@ -129,7 +129,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
OutTradeNumber = "TEST20210419193742518"
|
OutTradeNumber = "TEST20210419193742518"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteClosePayTransactionAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteClosePayTransactionAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
}
|
}
|
||||||
|
@ -18,8 +18,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
Name = "NAME",
|
Name = "NAME",
|
||||||
Type = "PERSONAL_OPENID"
|
Type = "PERSONAL_OPENID"
|
||||||
};
|
};
|
||||||
TestClients.Instance.EncryptRequestSensitiveProperty(request);
|
TestClients.InstanceUseRSA.EncryptRequestSensitiveProperty(request);
|
||||||
var response = await TestClients.Instance.ExecuteAddProfitSharingReceiverAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteAddProfitSharingReceiverAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
},
|
},
|
||||||
Reason = "FAKE_REASON"
|
Reason = "FAKE_REASON"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteCreateRefundDomesticRefundAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteCreateRefundDomesticRefundAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.OutRefundNumber);
|
Assert.NotNull(response.OutRefundNumber);
|
||||||
@ -40,7 +40,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
OutRefundNumber = "FAKE_OUTREFUNDNO"
|
OutRefundNumber = "FAKE_OUTREFUNDNO"
|
||||||
};
|
};
|
||||||
var response = await TestClients.Instance.ExecuteGetRefundDomesticRefundByOutRefundNumberAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteGetRefundDomesticRefundByOutRefundNumberAsync(request);
|
||||||
|
|
||||||
Assert.True(response.IsSuccessful());
|
Assert.True(response.IsSuccessful());
|
||||||
Assert.NotNull(response.RefundId);
|
Assert.NotNull(response.RefundId);
|
||||||
|
@ -26,8 +26,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
MerchantId = TestConfigs.WechatMerchantId,
|
MerchantId = TestConfigs.WechatMerchantId,
|
||||||
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
|
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
|
||||||
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantCertificateSerialNumber,
|
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantRSACertificateSerialNumber,
|
||||||
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantCertificatePrivateKey,
|
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantRSACertificatePrivateKey,
|
||||||
AutoEncryptRequestSensitiveProperty = true,
|
AutoEncryptRequestSensitiveProperty = true,
|
||||||
AutoDecryptResponseSensitiveProperty = true
|
AutoDecryptResponseSensitiveProperty = true
|
||||||
});
|
});
|
||||||
@ -39,8 +39,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
MerchantId = TestConfigs.WechatMerchantId,
|
MerchantId = TestConfigs.WechatMerchantId,
|
||||||
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
|
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
|
||||||
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantCertificateSerialNumber,
|
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantRSACertificateSerialNumber,
|
||||||
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantCertificatePrivateKey,
|
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantRSACertificatePrivateKey,
|
||||||
AutoEncryptRequestSensitiveProperty = false,
|
AutoEncryptRequestSensitiveProperty = false,
|
||||||
AutoDecryptResponseSensitiveProperty = false
|
AutoDecryptResponseSensitiveProperty = false
|
||||||
});
|
});
|
||||||
|
@ -10,13 +10,27 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
await TestClients.InitializeCertificateManagerAsync();
|
await TestClients.InitializeCertificateManagerAsync();
|
||||||
|
|
||||||
var request = new Models.QueryCertificatesRequest();
|
var request = new Models.QueryCertificatesRequest() { AlgorithmType = "RSA" };
|
||||||
var response = await TestClients.Instance.ExecuteQueryCertificatesAsync(request);
|
var response = await TestClients.InstanceUseRSA.ExecuteQueryCertificatesAsync(request);
|
||||||
|
|
||||||
Assert.True(response.RawStatus == 200);
|
Assert.True(response.RawStatus == 200);
|
||||||
Assert.True(response.RawHeaders.Count > 0);
|
Assert.True(response.RawHeaders.Count > 0);
|
||||||
Assert.True(response.RawBytes.Length > 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.WechatpayRequestId);
|
||||||
Assert.NotNull(response.WechatpayNonce);
|
Assert.NotNull(response.WechatpayNonce);
|
||||||
Assert.NotNull(response.WechatpayTimestamp);
|
Assert.NotNull(response.WechatpayTimestamp);
|
||||||
|
@ -7,31 +7,41 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
{
|
{
|
||||||
static TestClients()
|
static TestClients()
|
||||||
{
|
{
|
||||||
var certificateManager = new Settings.InMemoryCertificateManager();
|
var manager = new Settings.InMemoryCertificateManager();
|
||||||
Instance = new WechatTenpayClient(new WechatTenpayClientOptions()
|
InstanceUseRSA = new WechatTenpayClient(new WechatTenpayClientOptions()
|
||||||
{
|
{
|
||||||
MerchantId = TestConfigs.WechatMerchantId,
|
MerchantId = TestConfigs.WechatMerchantId,
|
||||||
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
|
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
|
||||||
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantCertificateSerialNumber,
|
MerchantCertificateSerialNumber = TestConfigs.WechatMerchantRSACertificateSerialNumber,
|
||||||
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantCertificatePrivateKey,
|
MerchantCertificatePrivateKey = TestConfigs.WechatMerchantRSACertificatePrivateKey,
|
||||||
PlatformCertificateManager = certificateManager
|
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()
|
internal static async Task InitializeCertificateManagerAsync()
|
||||||
{
|
{
|
||||||
var request = new Models.QueryCertificatesRequest();
|
var request = new Models.QueryCertificatesRequest() { AlgorithmType = "ALL" };
|
||||||
var response = await Instance.ExecuteQueryCertificatesAsync(request);
|
var response = await InstanceUseRSA.ExecuteQueryCertificatesAsync(request);
|
||||||
|
|
||||||
if (!response.IsSuccessful())
|
if (!response.IsSuccessful())
|
||||||
throw new Exception();
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,8 +19,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|||||||
var config = jdoc.RootElement.GetProperty("TestConfig");
|
var config = jdoc.RootElement.GetProperty("TestConfig");
|
||||||
WechatMerchantId = config.GetProperty("MerchantId").GetString()!;
|
WechatMerchantId = config.GetProperty("MerchantId").GetString()!;
|
||||||
WechatMerchantSecret = config.GetProperty("MerchantSecret").GetString()!;
|
WechatMerchantSecret = config.GetProperty("MerchantSecret").GetString()!;
|
||||||
WechatMerchantCertificateSerialNumber = config.GetProperty("MerchantCertificateSerialNumber").GetString()!;
|
WechatMerchantRSACertificateSerialNumber = config.GetProperty("MerchantRSACertificateSerialNumber").GetString()!;
|
||||||
WechatMerchantCertificatePrivateKey = config.GetProperty("MerchantCertificatePrivateKey").GetString()!;
|
WechatMerchantRSACertificatePrivateKey = config.GetProperty("MerchantRSACertificatePrivateKey").GetString()!;
|
||||||
|
WechatMerchantSM2CertificateSerialNumber = config.GetProperty("MerchantSM2CertificateSerialNumber").GetString();
|
||||||
|
WechatMerchantSM2CertificatePrivateKey = config.GetProperty("MerchantSM2CertificatePrivateKey").GetString();
|
||||||
WechatAppId = config.GetProperty("AppId").GetString()!;
|
WechatAppId = config.GetProperty("AppId").GetString()!;
|
||||||
WechatOpenId = config.GetProperty("OpenId").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 WechatMerchantId;
|
||||||
public static readonly string WechatMerchantSecret;
|
public static readonly string WechatMerchantSecret;
|
||||||
public static readonly string WechatMerchantCertificateSerialNumber;
|
public static readonly string WechatMerchantRSACertificateSerialNumber;
|
||||||
public static readonly string WechatMerchantCertificatePrivateKey;
|
public static readonly string WechatMerchantRSACertificatePrivateKey;
|
||||||
|
public static readonly string? WechatMerchantSM2CertificateSerialNumber;
|
||||||
|
public static readonly string? WechatMerchantSM2CertificatePrivateKey;
|
||||||
public static readonly string WechatAppId;
|
public static readonly string WechatAppId;
|
||||||
public static readonly string WechatOpenId;
|
public static readonly string WechatOpenId;
|
||||||
|
|
||||||
|
@ -2,8 +2,10 @@
|
|||||||
"TestConfig": {
|
"TestConfig": {
|
||||||
"MerchantId": "请在此填写用于测试的微信商户号",
|
"MerchantId": "请在此填写用于测试的微信商户号",
|
||||||
"MerchantSecret": "请在此填写用于测试的微信商户 API v3 密钥",
|
"MerchantSecret": "请在此填写用于测试的微信商户 API v3 密钥",
|
||||||
"MerchantCertificateSerialNumber": "请在此填写用于测试的微信商户 API 证书序列号",
|
"MerchantRSACertificateSerialNumber": "请在此填写用于测试的微信商户基于 RSA 算法的 API 证书序列号",
|
||||||
"MerchantCertificatePrivateKey": "请在此填写用于测试的微信商户 API 证书私钥(字符串格式)",
|
"MerchantRSACertificatePrivateKey": "请在此填写用于测试的微信商户基于 RSA 算法的 API 证书私钥(字符串格式)",
|
||||||
|
"MerchantSM2CertificateSerialNumber": "请在此填写用于测试的微信商户基于 SM2 算法的 API 证书序列号",
|
||||||
|
"MerchantSM2CertificatePrivateKey": "请在此填写用于测试的微信商户基于 SM2 算法的 API 证书私钥(字符串格式)",
|
||||||
"AppId": "请在此填写用于测试的微信 AppId",
|
"AppId": "请在此填写用于测试的微信 AppId",
|
||||||
"OpenId": "请在此填写用于测试的微信用户唯一标识"
|
"OpenId": "请在此填写用于测试的微信用户唯一标识"
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user