DotNetCore.SKIT.FlurlHttpCl.../test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/TestClients.cs
2024-02-07 18:03:28 +08:00

48 lines
2.0 KiB
C#

using System;
using System.Threading.Tasks;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
{
internal class TestClients
{
static TestClients()
{
var manager = new Settings.InMemoryCertificateManager();
InstanceUseRSA = new WechatTenpayClient(new WechatTenpayClientOptions()
{
MerchantId = TestConfigs.WechatMerchantId,
MerchantV3Secret = TestConfigs.WechatMerchantSecret,
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() { AlgorithmType = "ALL" };
var response = await InstanceUseRSA.ExecuteQueryCertificatesAsync(request);
if (!response.IsSuccessful())
throw new Exception();
foreach (var certificate in InstanceUseRSA.DecryptResponseSensitiveProperty(response).CertificateList)
{
InstanceUseRSA.PlatformCertificateManager.AddEntry(Settings.CertificateEntry.Parse(certificate));
}
}
public static readonly WechatTenpayClient InstanceUseRSA;
public static readonly WechatTenpayClient InstanceUseSM2;
}
}