mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-15 14:04:32 +08:00
feat(tenpayv3): CertificateEntry
支持 JSON 序列化或反序列化
This commit is contained in:
parent
d989734681
commit
e797d34331
@ -28,6 +28,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Settings
|
||||
/// </summary>
|
||||
public DateTimeOffset ExpireTime { get; }
|
||||
|
||||
[Newtonsoft.Json.JsonConstructor]
|
||||
[System.Text.Json.Serialization.JsonConstructor]
|
||||
public CertificateEntry(string serialNumber, string certificate, DateTimeOffset effectiveTime, DateTimeOffset expireTime)
|
||||
{
|
||||
if (string.IsNullOrEmpty(serialNumber))
|
||||
|
@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Xunit;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
||||
{
|
||||
public class WechatTenpayCertificateManagerTests
|
||||
{
|
||||
[Fact(DisplayName = "序列化与反序列化 `CertificateEntry`")]
|
||||
public void CertificateEntrySerializationTest()
|
||||
{
|
||||
var entry = new Settings.CertificateEntry("SN", "-----BEGIN CERTIFICATE-----END CERTIFICATE-----", DateTimeOffset.Now, DateTimeOffset.Now);
|
||||
|
||||
var serialized1 = Newtonsoft.Json.JsonConvert.SerializeObject(entry);
|
||||
var deserialized1 = Newtonsoft.Json.JsonConvert.DeserializeObject<Settings.CertificateEntry>(serialized1);
|
||||
|
||||
Assert.Equal(entry.SerialNumber, deserialized1.SerialNumber);
|
||||
Assert.Equal(entry.Certificate, deserialized1.Certificate);
|
||||
Assert.Equal(entry.EffectiveTime, deserialized1.EffectiveTime);
|
||||
Assert.Equal(entry.ExpireTime, deserialized1.ExpireTime);
|
||||
|
||||
var serialized2 = System.Text.Json.JsonSerializer.Serialize(entry);
|
||||
var deserialized2 = System.Text.Json.JsonSerializer.Deserialize<Settings.CertificateEntry>(serialized2);
|
||||
|
||||
Assert.Equal(entry.SerialNumber, deserialized2.SerialNumber);
|
||||
Assert.Equal(entry.Certificate, deserialized2.Certificate);
|
||||
Assert.Equal(entry.EffectiveTime, deserialized2.EffectiveTime);
|
||||
Assert.Equal(entry.ExpireTime, deserialized2.ExpireTime);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user