Skip to content
This repository was archived by the owner on Nov 11, 2025. It is now read-only.

Commit 6485aa6

Browse files
authored
Apply suggestions from code review
1 parent ef92cc1 commit 6485aa6

File tree

2 files changed

+9
-20
lines changed

2 files changed

+9
-20
lines changed

src/Microsoft.OpenApi/Models/OpenApiServer.cs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,14 @@ private void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version
9797
// name - serialize as native field for v3.2+ or as extension for earlier versions
9898
if (!string.IsNullOrEmpty(Name))
9999
{
100-
if (version == OpenApiSpecVersion.OpenApi3_2)
100+
if (version >= OpenApiSpecVersion.OpenApi3_2)
101101
{
102102
writer.WriteProperty(OpenApiConstants.Name, Name);
103103
}
104+
else
105+
{
106+
writer.WriteProperty("x-oai-name", Name);
107+
}
104108
}
105109

106110
// description
@@ -110,16 +114,7 @@ private void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version
110114
writer.WriteOptionalMap(OpenApiConstants.Variables, Variables, callback);
111115

112116
// specification extensions
113-
var extensionsToWrite = Extensions;
114-
115-
// For non-v3.2 versions, add x-oai-name extension if Name is present
116-
if (!string.IsNullOrEmpty(Name) && version != OpenApiSpecVersion.OpenApi3_2)
117-
{
118-
extensionsToWrite = new Dictionary<string, IOpenApiExtension>(Extensions ?? new Dictionary<string, IOpenApiExtension>());
119-
extensionsToWrite["x-oai-name"] = new JsonNodeExtension(JsonValue.Create(Name)!);
120-
}
121-
122-
writer.WriteExtensions(extensionsToWrite, version);
117+
writer.WriteExtensions(Extensions, version);
123118

124119
writer.WriteEndObject();
125120
}

test/Microsoft.OpenApi.Tests/Models/OpenApiServerTests.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,7 @@ public async Task SerializeServerWithNameAsV32JsonWorks()
127127
var actual = await ServerWithName.SerializeAsJsonAsync(OpenApiSpecVersion.OpenApi3_2);
128128

129129
// Assert
130-
actual = actual.MakeLineBreaksEnvironmentNeutral();
131-
expected = expected.MakeLineBreaksEnvironmentNeutral();
132-
Assert.Equal(expected, actual);
130+
Assert.True(JsonNode.DeepEquals(JsonNode.Parse(expected), JsonNode.Parse(actual)));
133131
}
134132

135133
[Fact]
@@ -149,9 +147,7 @@ public async Task SerializeServerWithNameAsV31JsonWorks()
149147
var actual = await ServerWithName.SerializeAsJsonAsync(OpenApiSpecVersion.OpenApi3_1);
150148

151149
// Assert
152-
actual = actual.MakeLineBreaksEnvironmentNeutral();
153-
expected = expected.MakeLineBreaksEnvironmentNeutral();
154-
Assert.Equal(expected, actual);
150+
Assert.True(JsonNode.DeepEquals(JsonNode.Parse(expected), JsonNode.Parse(actual)));
155151
}
156152

157153
[Fact]
@@ -171,9 +167,7 @@ public async Task SerializeServerWithNameAsV3JsonWorks()
171167
var actual = await ServerWithName.SerializeAsJsonAsync(OpenApiSpecVersion.OpenApi3_0);
172168

173169
// Assert
174-
actual = actual.MakeLineBreaksEnvironmentNeutral();
175-
expected = expected.MakeLineBreaksEnvironmentNeutral();
176-
Assert.Equal(expected, actual);
170+
Assert.True(JsonNode.DeepEquals(JsonNode.Parse(expected), JsonNode.Parse(actual)));
177171
}
178172

179173
[Fact]

0 commit comments

Comments
 (0)