using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using IdentityShroud.Core.Helpers; namespace IdentityShroud.Core.Tests.Helpers; public class Base64UrlConverterTests { internal class Data { [JsonConverter(typeof(Base64UrlConverter))] public byte[]? X { get; set; } } [Fact] public void Serialize() { Data d = new() { X = ">>>???"u8.ToArray() }; string s = JsonSerializer.Serialize(d); Assert.Contains("\"Pj4-Pz8_\"", s); } [Fact] public void Deerialize() { var jsonstring = """ { "X": "Pj4-Pz8_" } """; var d = JsonSerializer.Deserialize(jsonstring); Assert.Equal(">>>???", Encoding.UTF8.GetString(d.X)); } }