Fix allowReserved typo in OpenAPIEncoding deserializers for v3 and v31 #2518
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes a typo in the OpenAPI encoding deserializers where the field name was incorrectly set to
"allowedReserved"
instead of"allowReserved"
(note the extra "d"). This bug prevented theallowReserved
property from being properly deserialized from OpenAPI v3.0 and v3.1 documents.According to the OpenAPI 3.0 specification and OpenAPI 3.1 specification, the correct field name is
allowReserved
(without the "d").Changes
Fixed Deserializers
src/Microsoft.OpenApi/Reader/V3/OpenApiEncodingDeserializer.cs
- Changed"allowedReserved"
to"allowReserved"
(line 47)src/Microsoft.OpenApi/Reader/V31/OpenApiEncodingDeserializer.cs
- Changed"allowedReserved"
to"allowReserved"
(line 46)Added Regression Tests
To prevent future regressions, this PR adds unit tests that specifically verify the
allowReserved
field is correctly deserialized:test/Microsoft.OpenApi.Readers.Tests/V3Tests/OpenApiEncodingTests.cs
- AddedParseEncodingWithAllowReservedShouldSucceed
testtest/Microsoft.OpenApi.Readers.Tests/V31Tests/OpenApiEncodingTests.cs
- Created new test file withParseEncodingWithAllowReservedShouldSucceed
testallowReserved
field for both V3 and V31Example
Before this fix, the following OpenAPI document would fail to deserialize the
allowReserved
property:After this fix, the
AllowReserved
property is correctly set totrue
on the deserializedOpenApiEncoding
object.Testing
allowReserved
deserialization for both V3 and V31Fixes #[issue_number]
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
example.org926f4f21-88e7-4dc5-bf88-6c529bb77844
/usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/OpenAPI.NET/OpenAPI.NET/test/Microsoft.OpenApi.Hidi.Tests/bin/Debug/net8.0/Microsoft.OpenApi.Hidi.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/OpenAPI.NET/OpenAPI.NET/test/Microsoft.OpenApi.Hidi.Tests/bin/Debug/net8.0/Microsoft.OpenApi.Hidi.Tests.deps.json /home/REDACTED/work/OpenAPI.NET/OpenAPI.NET/test/Microsoft.OpenApi.Hidi.Tests/bin/Debug/net8.0/testhost.dll --port 43161 --endpoint 127.0.0.1:043161 --role client --parentprocessid 4655 --telemetryoptedin false
(dns block)/usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/OpenAPI.NET/OpenAPI.NET/test/Microsoft.OpenApi.Hidi.Tests/bin/Debug/net8.0/Microsoft.OpenApi.Hidi.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/OpenAPI.NET/OpenAPI.NET/test/Microsoft.OpenApi.Hidi.Tests/bin/Debug/net8.0/Microsoft.OpenApi.Hidi.Tests.deps.json /home/REDACTED/work/OpenAPI.NET/OpenAPI.NET/test/Microsoft.OpenApi.Hidi.Tests/bin/Debug/net8.0/testhost.dll --port 46779 --endpoint 127.0.0.1:046779 --role client --parentprocessid 9482 --telemetryoptedin false
(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.