Skip to content

Commit 76e27fd

Browse files
committed
Clean up tests and update public API
1 parent b1cf08d commit 76e27fd

File tree

2 files changed

+38
-2
lines changed

2 files changed

+38
-2
lines changed

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

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,20 @@ public class OpenApiParameterTests
110110
}
111111

112112
};
113+
114+
public static OpenApiParameter QueryParameterWithMissingStyle = new OpenApiParameter
115+
{
116+
Name = "id",
117+
In = ParameterLocation.Query,
118+
Schema = new OpenApiSchema
119+
{
120+
Type = "object",
121+
AdditionalProperties = new OpenApiSchema
122+
{
123+
Type = "integer"
124+
}
125+
}
126+
};
113127

114128
public static OpenApiParameter AdvancedHeaderParameterWithSchemaReference = new OpenApiParameter
115129
{
@@ -186,7 +200,7 @@ public void WhenStyleIsFormTheDefaultValueOfExplodeShouldBeTrueOtherwiseFalse(Pa
186200

187201
// Act & Assert
188202
parameter.Explode.Should().Be(expectedExplode);
189-
}
203+
}
190204

191205
[Theory]
192206
[InlineData(ParameterLocation.Path, ParameterStyle.Simple)]
@@ -197,16 +211,39 @@ public void WhenStyleIsFormTheDefaultValueOfExplodeShouldBeTrueOtherwiseFalse(Pa
197211
public void WhenStyleAndInIsNullTheDefaultValueOfStyleShouldBeSimple(ParameterLocation? inValue, ParameterStyle expectedStyle)
198212
{
199213
// Arrange
214+
var outputStringWriter = new StringWriter(CultureInfo.InvariantCulture);
215+
var writer = new OpenApiJsonWriter(outputStringWriter, new OpenApiJsonWriterSettings { Terse = false });
200216
var parameter = new OpenApiParameter
201217
{
202218
Name = "name1",
203219
In = inValue,
204220
};
205221

206222
// Act & Assert
223+
parameter.SerializeAsV3(writer);
224+
writer.Flush();
225+
207226
parameter.Style.Should().Be(expectedStyle);
208227
}
209228

229+
[Fact]
230+
public void SerializeQueryParameterWithMissingStyleSucceeds()
231+
{
232+
// Arrange
233+
var expected = @"name: id
234+
in: query
235+
schema:
236+
type: object
237+
additionalProperties:
238+
type: integer";
239+
240+
// Act
241+
var actual = QueryParameterWithMissingStyle.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0);
242+
243+
// Assert
244+
actual.MakeLineBreaksEnvironmentNeutral().Should().Be(expected.MakeLineBreaksEnvironmentNeutral());
245+
}
246+
210247
[Fact]
211248
public void SerializeBasicParameterAsV3JsonWorks()
212249
{

test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -729,7 +729,6 @@ namespace Microsoft.OpenApi.Models
729729
}
730730
public class OpenApiParameter : Microsoft.OpenApi.Interfaces.IEffective<Microsoft.OpenApi.Models.OpenApiParameter>, Microsoft.OpenApi.Interfaces.IOpenApiElement, Microsoft.OpenApi.Interfaces.IOpenApiExtensible, Microsoft.OpenApi.Interfaces.IOpenApiReferenceable, Microsoft.OpenApi.Interfaces.IOpenApiSerializable
731731
{
732-
public Microsoft.OpenApi.Models.ParameterStyle? _style;
733732
public OpenApiParameter() { }
734733
public OpenApiParameter(Microsoft.OpenApi.Models.OpenApiParameter parameter) { }
735734
public bool AllowEmptyValue { get; set; }

0 commit comments

Comments
 (0)