DotNetCore.SKIT.FlurlHttpCl.../test/SKIT.FlurlHttpClient.Wechat.TenpayV2.UnitTests/TestCase_RequestSignTests.cs
2022-01-25 13:24:49 +08:00

50 lines
1.7 KiB
C#

using System.Net.Http;
using Xunit;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.UnitTests
{
public class TestCase_RequestSignTests
{
internal class InnerFakeRequest : WechatTenpaySignableRequest
{
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public override string? AppId { get; set; }
[Newtonsoft.Json.JsonProperty("mch_id")]
[System.Text.Json.Serialization.JsonPropertyName("mch_id")]
public override string? MerchantId { get; set; }
[Newtonsoft.Json.JsonProperty("device_info")]
[System.Text.Json.Serialization.JsonPropertyName("device_info")]
public string? DeviceInfo { get; set; }
[Newtonsoft.Json.JsonProperty("body")]
[System.Text.Json.Serialization.JsonPropertyName("body")]
public string? Body { get; set; }
}
[Fact(DisplayName = "测试用例:生成请求签名")]
public void TestRequestSign()
{
const string MCHID = "10000100";
const string MCHKEY = "192006250b4c09247ec02edce69f6a2d";
var request = new InnerFakeRequest()
{
AppId = "wxd930ea5d5a258f4f",
MerchantId = MCHID,
DeviceInfo = "1000",
Body = "test",
NonceString = "ibuaiVcKdpRxkhJA"
};
var client = new WechatTenpayClient(MCHID, MCHKEY);
client.CreateRequest(request, HttpMethod.Post);
string actualSign = "9A0A8659F005D6984697E2CA0A9CF3B7";
string expectedSign = request.Signature!;
Assert.Equal(actualSign, expectedSign);
}
}
}