Skip to content

Commit eac5122

Browse files
committed
Merge branch 'dm/empty-collections' of https://github.com/Microsoft/OpenAPI.NET into dm/empty-collections
2 parents 88c28a4 + 79a1ee6 commit eac5122

File tree

5 files changed

+6
-29
lines changed

5 files changed

+6
-29
lines changed

src/Microsoft.OpenApi.Readers/V2/OpenApiDocumentDeserializer.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,7 @@ internal static partial class OpenApiV2Deserializer
1919
{
2020
public static FixedFieldMap<OpenApiDocument> OpenApiFixedFields = new FixedFieldMap<OpenApiDocument>
2121
{
22-
{
23-
"swagger", (o, n) =>
24-
{
25-
o.SpecVersion = new Version(2, 0);
26-
}
27-
},
22+
{"swagger", (o, n) => { } /* Version is valid field but we already parsed it */ },
2823
{"info", (o, n) => o.Info = LoadInfo(n)},
2924
{"host", (o, n) => n.Context.SetTempStorage("host", n.GetScalarValue())},
3025
{"basePath", (o, n) => n.Context.SetTempStorage("basePath", n.GetScalarValue())},

src/Microsoft.OpenApi.Readers/V3/OpenApiDocumentDeserializer.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,7 @@ internal static partial class OpenApiV3Deserializer
1919
{
2020
public static FixedFieldMap<OpenApiDocument> OpenApiFixedFields = new FixedFieldMap<OpenApiDocument>
2121
{
22-
{
23-
"openapi", (o, n) =>
24-
{
25-
o.SpecVersion = new Version(n.GetScalarValue());
26-
}
27-
},
22+
{"openapi", (o, n) => { } /* Version is valid field but we already parsed it */ },
2823
{"info", (o, n) => o.Info = LoadInfo(n)},
2924
{"servers", (o, n) => o.Servers = n.CreateList(LoadServer)},
3025
{"paths", (o, n) => o.Paths = LoadPaths(n)},

src/Microsoft.OpenApi/Models/OpenApiDocument.cs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ namespace Microsoft.OpenApi.Models
1717
/// </summary>
1818
public class OpenApiDocument : IOpenApiSerializable, IOpenApiExtensible
1919
{
20-
/// <summary>
21-
/// REQUIRED. This string MUST be the semantic version number of the OpenAPI Specification version
22-
/// that the OpenAPI document uses.
23-
/// </summary>
24-
public Version SpecVersion { get; set; }
2520

2621
/// <summary>
2722
/// REQUIRED. Provides metadata about the API. The metadata MAY be used by tooling as required.
@@ -64,7 +59,7 @@ public class OpenApiDocument : IOpenApiSerializable, IOpenApiExtensible
6459
public IDictionary<string, IOpenApiAny> Extensions { get; set; } = new Dictionary<string, IOpenApiAny>();
6560

6661
/// <summary>
67-
/// Serialize <see cref="OpenApiDocument"/> to Open Api v3.0.
62+
/// Serialize <see cref="OpenApiDocument"/> to Open Api v3.0.0
6863
/// </summary>
6964
public void SerializeAsV3(IOpenApiWriter writer)
7065
{
@@ -76,7 +71,7 @@ public void SerializeAsV3(IOpenApiWriter writer)
7671
writer.WriteStartObject();
7772

7873
// openapi
79-
writer.WriteProperty(OpenApiConstants.OpenApi, SpecVersion?.ToString());
74+
writer.WriteProperty(OpenApiConstants.OpenApi, "3.0.0");
8075

8176
// info
8277
writer.WriteRequiredObject(OpenApiConstants.Info, Info, (w, i) => i.SerializeAsV3(w));
@@ -118,7 +113,7 @@ public void SerializeAsV2(IOpenApiWriter writer)
118113
writer.WriteStartObject();
119114

120115
// swagger
121-
writer.WriteProperty(OpenApiConstants.Swagger, SpecVersion?.ToString());
116+
writer.WriteProperty(OpenApiConstants.Swagger, "2.0");
122117

123118
// info
124119
writer.WriteRequiredObject(OpenApiConstants.Info, Info, (w, i) => i.SerializeAsV2(w));

test/Microsoft.OpenApi.Readers.Tests/V2Tests/ComparisonTests.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ public void EquivalentV2AndV3DocumentsShouldProductEquivalentObjects(string file
3030
// Everything in the DOM read from V2 and V3 documents should be equal
3131
// except the SpecVersion property (2.0 and 3.0.0)
3232
openApiDocV3.ShouldBeEquivalentTo(
33-
openApiDocV2,
34-
options => options.Excluding(
35-
s => s.SelectedMemberPath == nameof(OpenApiDocument.SpecVersion)));
33+
openApiDocV2);
3634

3735
contextV2.ShouldBeEquivalentTo(contextV3);
3836
}

test/Microsoft.OpenApi.Readers.Tests/V3Tests/OpenApiDocumentTests.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public void ParseDocumentFromInlineStringShouldSucceed()
4040

4141
openApiDoc.ShouldBeEquivalentTo(new OpenApiDocument()
4242
{
43-
SpecVersion = new Version(3, 0, 0),
4443
Info = new OpenApiInfo
4544
{
4645

@@ -66,7 +65,6 @@ public void ParseBasicDocumentWithMultipleServersShouldSucceed()
6665

6766
openApiDoc.ShouldBeEquivalentTo(new OpenApiDocument()
6867
{
69-
SpecVersion = new Version(3,0,0),
7068
Info = new OpenApiInfo()
7169
{
7270
Title = "The API",
@@ -98,7 +96,6 @@ public void ParseBrokenMinimalDocumentShouldYieldExpectedDiagnostic()
9896

9997
openApiDoc.ShouldBeEquivalentTo(new OpenApiDocument()
10098
{
101-
SpecVersion = new Version(3, 0, 0),
10299
Info = new OpenApiInfo
103100
{
104101
Version = "0.9"
@@ -124,7 +121,6 @@ public void ParseMinimalDocumentShouldSucceed()
124121

125122
openApiDoc.ShouldBeEquivalentTo(new OpenApiDocument()
126123
{
127-
SpecVersion = new Version(3, 0, 0),
128124
Info = new OpenApiInfo
129125
{
130126

@@ -253,7 +249,6 @@ public void ParseStandardPetStoreDocumentShouldSucceed()
253249

254250
var expected = new OpenApiDocument()
255251
{
256-
SpecVersion = new Version(3, 0, 0),
257252
Info = new OpenApiInfo()
258253
{
259254
Version = "1.0.0",
@@ -711,7 +706,6 @@ public void ParseModifiedPetStoreDocumentWithTagAndSecurityShouldSucceed()
711706

712707
var expected = new OpenApiDocument()
713708
{
714-
SpecVersion = new Version(3, 0, 0),
715709
Info = new OpenApiInfo()
716710
{
717711
Version = "1.0.0",

0 commit comments

Comments
 (0)