Skip to content

Commit ef69409

Browse files
Tests fixed
1 parent 281fc85 commit ef69409

File tree

4 files changed

+41
-8
lines changed

4 files changed

+41
-8
lines changed

src/Microsoft.OpenApi/Models/OpenApiResponse.cs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,14 @@ public void SerializeAsV3WithoutReference(IOpenApiWriter writer)
7878
writer.WriteStartObject();
7979

8080
// description
81-
writer.WriteRequiredProperty(OpenApiConstants.Description, Description);
81+
if (this.Reference == null)
82+
{
83+
writer.WriteRequiredProperty(OpenApiConstants.Description, Description);
84+
}
85+
else
86+
{
87+
writer.WriteProperty(OpenApiConstants.Description, Description);
88+
}
8289

8390
// headers
8491
writer.WriteOptionalMap(OpenApiConstants.Headers, Headers, (w, h) => h.SerializeAsV3(w));
@@ -122,7 +129,15 @@ public void SerializeAsV2WithoutReference(IOpenApiWriter writer)
122129
writer.WriteStartObject();
123130

124131
// description
125-
writer.WriteRequiredProperty(OpenApiConstants.Description, Description);
132+
if (this.Reference == null)
133+
{
134+
writer.WriteRequiredProperty(OpenApiConstants.Description, Description);
135+
}
136+
else
137+
{
138+
writer.WriteProperty(OpenApiConstants.Description, Description);
139+
}
140+
126141
if (Content != null)
127142
{
128143
var mediatype = Content.FirstOrDefault();

src/Microsoft.OpenApi/Writers/OpenApiWriterExtensions.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,14 @@ public static void WriteRequiredProperty(this IOpenApiWriter writer, string name
4242
{
4343
CheckArguments(writer, name);
4444
writer.WritePropertyName(name);
45-
writer.WriteValue(value);
45+
if (value == null)
46+
{
47+
writer.WriteNull();
48+
}
49+
else
50+
{
51+
writer.WriteValue(value);
52+
}
4653
}
4754

4855
/// <summary>

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ public void SerializeOperationWithBodyAsV3JsonWorks()
359359
""$ref"": ""#/components/responses/response1""
360360
},
361361
""400"": {
362+
""description"": null,
362363
""content"": {
363364
""application/json"": {
364365
""schema"": {
@@ -431,6 +432,7 @@ public void SerializeAdvancedOperationWithTagAndSecurityAsV3JsonWorks()
431432
""$ref"": ""#/components/responses/response1""
432433
},
433434
""400"": {
435+
""description"": null,
434436
""content"": {
435437
""application/json"": {
436438
""schema"": {
@@ -554,7 +556,7 @@ public void SerializeOperationWithFormDataAsV3JsonWorks()
554556

555557
// Act
556558
var actual = _operationWithFormData.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);
557-
559+
558560
// Assert
559561
actual = actual.MakeLineBreaksEnvironmentNeutral();
560562
expected = expected.MakeLineBreaksEnvironmentNeutral();
@@ -607,7 +609,7 @@ public void SerializeOperationWithFormDataAsV2JsonWorks()
607609

608610
// Act
609611
var actual = _operationWithFormData.SerializeAsJson(OpenApiSpecVersion.OpenApi2_0);
610-
612+
611613
// Assert
612614
actual = actual.MakeLineBreaksEnvironmentNeutral();
613615
expected = expected.MakeLineBreaksEnvironmentNeutral();
@@ -658,6 +660,7 @@ public void SerializeOperationWithBodyAsV2JsonWorks()
658660
""$ref"": ""#/responses/response1""
659661
},
660662
""400"": {
663+
""description"": null,
661664
""schema"": {
662665
""maximum"": 10,
663666
""minimum"": 5,
@@ -672,7 +675,7 @@ public void SerializeOperationWithBodyAsV2JsonWorks()
672675

673676
// Act
674677
var actual = _operationWithBody.SerializeAsJson(OpenApiSpecVersion.OpenApi2_0);
675-
678+
676679
// Assert
677680
actual = actual.MakeLineBreaksEnvironmentNeutral();
678681
expected = expected.MakeLineBreaksEnvironmentNeutral();
@@ -727,6 +730,7 @@ public void SerializeAdvancedOperationWithTagAndSecurityAsV2JsonWorks()
727730
""$ref"": ""#/responses/response1""
728731
},
729732
""400"": {
733+
""description"": null,
730734
""schema"": {
731735
""maximum"": 10,
732736
""minimum"": 5,

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,18 @@ public void SerializeBasicResponseWorks(
116116
OpenApiSpecVersion version,
117117
OpenApiFormat format)
118118
{
119-
// Arrange & Act
119+
// Arrange
120+
var expected = format == OpenApiFormat.Json ? @"{
121+
""description"": null
122+
}" : @"description: ";
123+
124+
// Act
120125
var actual = BasicResponse.Serialize(version, format);
121126

122127
// Assert
123-
actual.Should().Be("{ }");
128+
actual = actual.MakeLineBreaksEnvironmentNeutral();
129+
expected = expected.MakeLineBreaksEnvironmentNeutral();
130+
actual.Should().Be(expected);
124131
}
125132

126133
[Fact]

0 commit comments

Comments
 (0)