internal static ReadOnlySpan <byte> GetWellKnowName(WellKnownProperty wellKnownName) { return(wellKnownName switch { WellKnownProperty.Exp => Claims.ExpUtf8, WellKnownProperty.Aud => Claims.AudUtf8, WellKnownProperty.Iat => Claims.IatUtf8, WellKnownProperty.Iss => Claims.IssUtf8, WellKnownProperty.Jti => Claims.JtiUtf8, WellKnownProperty.Nbf => Claims.NbfUtf8, WellKnownProperty.Sub => Claims.SubUtf8, WellKnownProperty.Typ => HeaderParameters.TypUtf8, WellKnownProperty.Zip => HeaderParameters.ZipUtf8, WellKnownProperty.Kid => HeaderParameters.KidUtf8, WellKnownProperty.Alg => HeaderParameters.AlgUtf8, WellKnownProperty.Enc => HeaderParameters.EncUtf8, WellKnownProperty.Cty => HeaderParameters.CtyUtf8, _ => ThrowHelper.ThrowArgumentOutOfRangeException_WellKnowProperty(wellKnownName) });
private static Exception CreateArgumentOutOfRangeException_WellKnowProperty(WellKnownProperty wellKnownName) => new ArgumentOutOfRangeException(nameof(wellKnownName), $"The property value '{wellKnownName}' is unknwon.");
public void GetWellKnowName_NotSupported(WellKnownProperty unknownProperty) { Assert.Throws <ArgumentOutOfRangeException>(() => JwtProperty.GetWellKnowName(unknownProperty)); }
internal static ReadOnlySpan <byte> ThrowArgumentOutOfRangeException_WellKnowProperty(WellKnownProperty wellKnownName) => throw CreateArgumentOutOfRangeException_WellKnowProperty(wellKnownName);
public void GetWellKnowName(WellKnownProperty knownProperty, string expected) { var name = JwtProperty.GetWellKnowName(knownProperty); Assert.Equal(expected, Encoding.UTF8.GetString(name.ToArray())); }