Skip to content

Commit befb8f3

Browse files
committed
tests: adds a negative test for v2 peer keywords serialization of schema references
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
1 parent 2dab78d commit befb8f3

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"$ref": "#/definitions/Pet"
3+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"$ref":"#/definitions/Pet"}

test/Microsoft.OpenApi.Tests/Models/References/OpenApiSchemaReferenceTests.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,38 @@ public async Task SerializeSchemaReferenceAsV3JsonWorks(bool produceTerseOutput)
215215
await Verifier.Verify(outputStringWriter).UseParameters(produceTerseOutput);
216216
}
217217

218+
[Theory]
219+
[InlineData(true)]
220+
[InlineData(false)]
221+
public async Task SerializeSchemaReferenceAsV2JsonWorks(bool produceTerseOutput)
222+
{
223+
// Arrange - Extensions should NOT appear in v2 output
224+
var reference = new OpenApiSchemaReference("Pet", null)
225+
{
226+
Title = "Reference Title",
227+
Description = "Reference Description",
228+
ReadOnly = true,
229+
WriteOnly = false,
230+
Deprecated = true,
231+
Default = JsonValue.Create("reference default"),
232+
Examples = new List<JsonNode> { JsonValue.Create("reference example") },
233+
Extensions = new Dictionary<string, IOpenApiExtension>
234+
{
235+
["x-custom"] = new JsonNodeExtension(JsonValue.Create("custom value"))
236+
}
237+
};
238+
239+
var outputStringWriter = new StringWriter(CultureInfo.InvariantCulture);
240+
var writer = new OpenApiJsonWriter(outputStringWriter, new OpenApiJsonWriterSettings { Terse = produceTerseOutput });
241+
242+
// Act
243+
reference.SerializeAsV2(writer);
244+
await writer.FlushAsync();
245+
246+
// Assert
247+
await Verifier.Verify(outputStringWriter).UseParameters(produceTerseOutput);
248+
}
249+
218250
[Fact]
219251
public void ParseSchemaReferenceWithAnnotationsWorks()
220252
{

0 commit comments

Comments
 (0)