2021-05-10 15:30:00 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
|
|
|
|
{
|
|
|
|
|
public class WechatTenpayResponseVerificationTests
|
|
|
|
|
{
|
|
|
|
|
[Fact(DisplayName = "验证响应签名")]
|
|
|
|
|
public async Task VerifyResponseSignatureTest()
|
|
|
|
|
{
|
|
|
|
|
var request = new Models.QueryCertificatesRequest();
|
|
|
|
|
var response = await TestClients.Instance.ExecuteQueryCertificatesAsync(request);
|
|
|
|
|
|
|
|
|
|
Assert.NotNull(response.WechatpayRequestId);
|
|
|
|
|
Assert.NotNull(response.WechatpayTimestamp);
|
|
|
|
|
Assert.NotNull(response.WechatpayNonce);
|
|
|
|
|
Assert.NotNull(response.WechatpayCertSerialNumber);
|
|
|
|
|
Assert.NotNull(response.WechatpaySignature);
|
|
|
|
|
|
2021-07-19 22:08:43 +08:00
|
|
|
|
TestClients.Instance.DecryptResponseEncryptedData(ref response);
|
2021-07-22 15:07:39 +08:00
|
|
|
|
foreach (var certificateModel in response.CertificateList)
|
|
|
|
|
{
|
2021-07-27 00:00:14 +08:00
|
|
|
|
TestClients.GlobalCertificateManager.SetCertificate(certificateModel.SerialNumber, certificateModel.EncryptCertificate.CipherText);
|
2021-07-22 15:07:39 +08:00
|
|
|
|
}
|
2021-05-10 15:30:00 +08:00
|
|
|
|
|
2021-07-22 15:07:39 +08:00
|
|
|
|
Assert.True(TestClients.Instance.VerifyResponseSignature(response));
|
2021-05-10 15:30:00 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|