Skip to content

Commit d587137

Browse files
committed
Reusable pathItems only exist in v31
1 parent 42f7213 commit d587137

File tree

3 files changed

+4
-67
lines changed

3 files changed

+4
-67
lines changed

src/Microsoft.OpenApi/Models/References/OpenApiPathItemReference.cs

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -91,21 +91,7 @@ public override string Description
9191

9292
/// <inheritdoc/>
9393
public override IDictionary<string, IOpenApiExtension> Extensions { get => Target.Extensions; set => Target.Extensions = value; }
94-
95-
/// <inheritdoc/>
96-
public override void SerializeAsV3(IOpenApiWriter writer)
97-
{
98-
if (!writer.GetSettings().ShouldInlineReference(_reference))
99-
{
100-
_reference.SerializeAsV3(writer);
101-
return;
102-
}
103-
else
104-
{
105-
SerializeInternal(writer, (writer, element) => element.SerializeAsV3WithoutReference(writer));
106-
}
107-
}
108-
94+
10995
/// <inheritdoc/>
11096
public override void SerializeAsV31(IOpenApiWriter writer)
11197
{
@@ -120,20 +106,6 @@ public override void SerializeAsV31(IOpenApiWriter writer)
120106
}
121107
}
122108

123-
/// <inheritdoc/>
124-
public override void SerializeAsV2(IOpenApiWriter writer)
125-
{
126-
if (!writer.GetSettings().ShouldInlineReference(_reference))
127-
{
128-
_reference.SerializeAsV2(writer);
129-
return;
130-
}
131-
else
132-
{
133-
SerializeInternal(writer, (writer, element) => element.SerializeAsV2WithoutReference(writer));
134-
}
135-
}
136-
137109
/// <inheritdoc/>
138110
private void SerializeInternal(IOpenApiWriter writer,
139111
Action<IOpenApiWriter, IOpenApiReferenceable> action)

src/Microsoft.OpenApi/Reader/V3/OpenApiComponentsDeserializer.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ internal static partial class OpenApiV3Deserializer
2828
{"headers", (o, n) => o.Headers = n.CreateMapWithReference(ReferenceType.Header, LoadHeader)},
2929
{"securitySchemes", (o, n) => o.SecuritySchemes = n.CreateMapWithReference(ReferenceType.SecurityScheme, LoadSecurityScheme)},
3030
{"links", (o, n) => o.Links = n.CreateMapWithReference(ReferenceType.Link, LoadLink)},
31-
{"callbacks", (o, n) => o.Callbacks = n.CreateMapWithReference(ReferenceType.Callback, LoadCallback)},
32-
{"pathItems", (o, n) => o.PathItems = n.CreateMapWithReference(ReferenceType.PathItem, LoadPathItem)}
31+
{"callbacks", (o, n) => o.Callbacks = n.CreateMapWithReference(ReferenceType.Callback, LoadCallback)}
3332
};
3433

3534
private static readonly PatternFieldMap<OpenApiComponents> _componentsPatternFields =

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

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ namespace Microsoft.OpenApi.Tests.Models.References
2020
public class OpenApiPathItemReferenceTests
2121
{
2222
private const string OpenApi = @"
23-
openapi: 3.0.0
23+
openapi: 3.1.0
2424
info:
2525
title: Sample API
2626
version: 1.0.0
@@ -51,7 +51,7 @@ public class OpenApiPathItemReferenceTests
5151
";
5252

5353
private const string OpenApi_2 = @"
54-
openapi: 3.0.0
54+
openapi: 3.1.0
5555
info:
5656
title: Sample API
5757
version: 1.0.0
@@ -104,23 +104,6 @@ public void PathItemReferenceResolutionWorks()
104104
Assert.Equal("User path item summary", _openApiDoc.Components.PathItems.First().Value.Summary);
105105
}
106106

107-
[Theory]
108-
[InlineData(true)]
109-
[InlineData(false)]
110-
public async Task SerializePathItemReferenceAsV3JsonWorks(bool produceTerseOutput)
111-
{
112-
// Arrange
113-
var outputStringWriter = new StringWriter(CultureInfo.InvariantCulture);
114-
var writer = new OpenApiJsonWriter(outputStringWriter, new OpenApiJsonWriterSettings { Terse = produceTerseOutput, InlineLocalReferences = true });
115-
116-
// Act
117-
_localPathItemReference.SerializeAsV3(writer);
118-
writer.Flush();
119-
120-
// Assert
121-
await Verifier.Verify(outputStringWriter).UseParameters(produceTerseOutput);
122-
}
123-
124107
[Theory]
125108
[InlineData(true)]
126109
[InlineData(false)]
@@ -137,22 +120,5 @@ public async Task SerializePathItemReferenceAsV31JsonWorks(bool produceTerseOutp
137120
// Assert
138121
await Verifier.Verify(outputStringWriter).UseParameters(produceTerseOutput);
139122
}
140-
141-
[Theory]
142-
[InlineData(true)]
143-
[InlineData(false)]
144-
public async Task SerializePathItemReferenceAsV2JsonWorksAsync(bool produceTerseOutput)
145-
{
146-
// Arrange
147-
var outputStringWriter = new StringWriter(CultureInfo.InvariantCulture);
148-
var writer = new OpenApiJsonWriter(outputStringWriter, new OpenApiJsonWriterSettings { Terse = produceTerseOutput });
149-
150-
// Act
151-
_localPathItemReference.SerializeAsV2(writer);
152-
writer.Flush();
153-
154-
// Assert
155-
await Verifier.Verify(outputStringWriter).UseParameters(produceTerseOutput);
156-
}
157123
}
158124
}

0 commit comments

Comments
 (0)