From 3fadb7d9d0c4c4348a4c2eb8ffcf50efd79f7226 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Thu, 2 Oct 2025 13:04:41 -0400 Subject: [PATCH] fix: typo in encoding allow reserved deserialization Signed-off-by: Vincent Biret --- .../V3/OpenApiEncodingDeserializer.cs | 2 +- .../V3Tests/OpenApiEncodingTests.cs | 24 +++++++++++++++++++ .../encodingWithAllowReserved.yaml | 5 ++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 test/Microsoft.OpenApi.Readers.Tests/V3Tests/Samples/OpenApiEncoding/encodingWithAllowReserved.yaml diff --git a/src/Microsoft.OpenApi.Readers/V3/OpenApiEncodingDeserializer.cs b/src/Microsoft.OpenApi.Readers/V3/OpenApiEncodingDeserializer.cs index c627ea8f5..8dd08819e 100644 --- a/src/Microsoft.OpenApi.Readers/V3/OpenApiEncodingDeserializer.cs +++ b/src/Microsoft.OpenApi.Readers/V3/OpenApiEncodingDeserializer.cs @@ -32,7 +32,7 @@ internal static partial class OpenApiV3Deserializer (o, n) => o.Explode = bool.Parse(n.GetScalarValue()) }, { - "allowedReserved", + "allowReserved", (o, n) => o.AllowReserved = bool.Parse(n.GetScalarValue()) }, }; diff --git a/test/Microsoft.OpenApi.Readers.Tests/V3Tests/OpenApiEncodingTests.cs b/test/Microsoft.OpenApi.Readers.Tests/V3Tests/OpenApiEncodingTests.cs index 2b9c23fe1..6a561ec4f 100644 --- a/test/Microsoft.OpenApi.Readers.Tests/V3Tests/OpenApiEncodingTests.cs +++ b/test/Microsoft.OpenApi.Readers.Tests/V3Tests/OpenApiEncodingTests.cs @@ -76,5 +76,29 @@ public void ParseAdvancedEncodingShouldSucceed() } }); } + [Fact] + public void ParseEncodingWithAllowReservedShouldSucceed() + { + using var stream = Resources.GetStream(Path.Combine(SampleFolderPath, "encodingWithAllowReserved.yaml")); + var yamlStream = new YamlStream(); + yamlStream.Load(new StreamReader(stream)); + var yamlNode = yamlStream.Documents.First().RootNode; + + var diagnostic = new OpenApiDiagnostic(); + var context = new ParsingContext(diagnostic); + + var node = new MapNode(context, (YamlMappingNode)yamlNode); + var encoding = OpenApiV3Deserializer.LoadEncoding(node); + + // Assert + Assert.Equivalent( + new OpenApiEncoding + { + ContentType = "application/x-www-form-urlencoded", + Style = ParameterStyle.Form, + Explode = true, + AllowReserved = true + }, encoding); + } } } diff --git a/test/Microsoft.OpenApi.Readers.Tests/V3Tests/Samples/OpenApiEncoding/encodingWithAllowReserved.yaml b/test/Microsoft.OpenApi.Readers.Tests/V3Tests/Samples/OpenApiEncoding/encodingWithAllowReserved.yaml new file mode 100644 index 000000000..c42f9f8c2 --- /dev/null +++ b/test/Microsoft.OpenApi.Readers.Tests/V3Tests/Samples/OpenApiEncoding/encodingWithAllowReserved.yaml @@ -0,0 +1,5 @@ +# https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#encodingObject +contentType: application/x-www-form-urlencoded +style: form +explode: true +allowReserved: true \ No newline at end of file