Skip to content

Commit c0f218a

Browse files
committed
Add test for validation; refactor existing tests by updating spec version for serialiazing/deserializing properties only available in v3.1
1 parent 5741ae6 commit c0f218a

File tree

6 files changed

+41
-12
lines changed

6 files changed

+41
-12
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,7 +1559,7 @@ public void ParseDocumentWithWebhooksShouldSucceed()
15591559
};
15601560

15611561
// Assert
1562-
diagnostic.Should().BeEquivalentTo(new OpenApiDiagnostic() { SpecificationVersion = OpenApiSpecVersion.OpenApi3_0 });
1562+
diagnostic.Should().BeEquivalentTo(new OpenApiDiagnostic() { SpecificationVersion = OpenApiSpecVersion.OpenApi3_1 });
15631563
actual.Should().BeEquivalentTo(expected);
15641564
}
15651565

@@ -1769,14 +1769,15 @@ public void ParseDocumentsWithReusablePathItemInWebhooksSucceeds()
17691769
Title = "Webhook Example",
17701770
Version = "1.0.0"
17711771
},
1772+
JsonSchemaDialect = "http://json-schema.org/draft-07/schema#",
17721773
Webhooks = components.PathItems,
17731774
Components = components
17741775
};
17751776

17761777
// Assert
17771778
actual.Should().BeEquivalentTo(expected);
17781779
context.Should().BeEquivalentTo(
1779-
new OpenApiDiagnostic() { SpecificationVersion = OpenApiSpecVersion.OpenApi3_0 });
1780+
new OpenApiDiagnostic() { SpecificationVersion = OpenApiSpecVersion.OpenApi3_1});
17801781

17811782
}
17821783

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,7 +711,7 @@ public void SerializeComponentsWithPathItemsAsJsonWorks()
711711
}
712712
}";
713713
// Act
714-
var actual = ComponentsWithPathItem.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);
714+
var actual = ComponentsWithPathItem.SerializeAsJson(OpenApiSpecVersion.OpenApi3_1);
715715

716716
// Assert
717717
actual = actual.MakeLineBreaksEnvironmentNeutral();
@@ -748,7 +748,7 @@ public void SerializeComponentsWithPathItemsAsYamlWorks()
748748
description: Return a 200 status to indicate that the data was received successfully";
749749

750750
// Act
751-
var actual = ComponentsWithPathItem.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0);
751+
var actual = ComponentsWithPathItem.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_1);
752752

753753
// Assert
754754
actual = actual.MakeLineBreaksEnvironmentNeutral();

test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.SerializeDocumentWithWebhooksAsV3JsonWorks_produceTerseOutput=False.verified.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"openapi": "3.0.1",
2+
"openapi": "3.1.0",
33
"info": {
44
"title": "Webhook Example",
55
"version": "1.0.0"

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

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1439,7 +1439,7 @@ public async void SerializeDocumentWithWebhooksAsV3JsonWorks(bool produceTerseOu
14391439
var writer = new OpenApiJsonWriter(outputStringWriter, new OpenApiJsonWriterSettings { Terse = produceTerseOutput });
14401440

14411441
// Act
1442-
DocumentWithWebhooks.SerializeAsV3(writer);
1442+
DocumentWithWebhooks.SerializeAsV3(writer, OpenApiSpecVersion.OpenApi3_1);
14431443
writer.Flush();
14441444
var actual = outputStringWriter.GetStringBuilder().ToString();
14451445

@@ -1451,7 +1451,7 @@ public async void SerializeDocumentWithWebhooksAsV3JsonWorks(bool produceTerseOu
14511451
public void SerializeDocumentWithWebhooksAsV3YamlWorks()
14521452
{
14531453
// Arrange
1454-
var expected = @"openapi: 3.0.1
1454+
var expected = @"openapi: '3.1.0'
14551455
info:
14561456
title: Webhook Example
14571457
version: 1.0.0
@@ -1484,12 +1484,40 @@ public void SerializeDocumentWithWebhooksAsV3YamlWorks()
14841484
type: string";
14851485

14861486
// Act
1487-
var actual = DocumentWithWebhooks.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0);
1487+
var actual = DocumentWithWebhooks.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_1);
14881488

14891489
// Assert
14901490
actual = actual.MakeLineBreaksEnvironmentNeutral();
14911491
expected = expected.MakeLineBreaksEnvironmentNeutral();
14921492
Assert.Equal(expected, actual);
14931493
}
1494+
1495+
[Fact]
1496+
public void SerializeDocumentWithRootJsonSchemaDialectPropertyWorks()
1497+
{
1498+
// Arrange
1499+
var doc = new OpenApiDocument
1500+
{
1501+
Info = new OpenApiInfo
1502+
{
1503+
Title = "JsonSchemaDialectTest",
1504+
Version = "1.0.0"
1505+
},
1506+
JsonSchemaDialect = "http://json-schema.org/draft-07/schema#"
1507+
};
1508+
1509+
var expected = @"openapi: '3.1.0'
1510+
info:
1511+
title: JsonSchemaDialectTest
1512+
version: 1.0.0
1513+
jsonSchemaDialect: http://json-schema.org/draft-07/schema#
1514+
paths: { }";
1515+
1516+
// Act
1517+
var actual = doc.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_1);
1518+
1519+
// Assert
1520+
Assert.Equal(expected.MakeLineBreaksEnvironmentNeutral(), actual.MakeLineBreaksEnvironmentNeutral());
1521+
}
14941522
}
14951523
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ public void SerializeInfoObjectWithSummaryAsV3YamlWorks()
215215
version: '1.1.1'";
216216

217217
// Act
218-
var actual = InfoWithSummary.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0);
218+
var actual = InfoWithSummary.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_1);
219219

220220
// Assert
221221
actual = actual.MakeLineBreaksEnvironmentNeutral();
@@ -235,7 +235,7 @@ public void SerializeInfoObjectWithSummaryAsV3JsonWorks()
235235
}";
236236

237237
// Act
238-
var actual = InfoWithSummary.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);
238+
var actual = InfoWithSummary.SerializeAsJson(OpenApiSpecVersion.OpenApi3_1);
239239

240240
// Assert
241241
actual = actual.MakeLineBreaksEnvironmentNeutral();

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public void SerializeLicenseWithIdentifierAsJsonWorks()
141141
}";
142142

143143
// Act
144-
var actual = LicenseWithIdentifier.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);
144+
var actual = LicenseWithIdentifier.SerializeAsJson(OpenApiSpecVersion.OpenApi3_1);
145145

146146
// Assert
147147
Assert.Equal(expected.MakeLineBreaksEnvironmentNeutral(), actual.MakeLineBreaksEnvironmentNeutral());
@@ -155,7 +155,7 @@ public void SerializeLicenseWithIdentifierAsYamlWorks()
155155
identifier: Apache-2.0";
156156

157157
// Act
158-
var actual = LicenseWithIdentifier.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0);
158+
var actual = LicenseWithIdentifier.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_1);
159159

160160
// Assert
161161
Assert.Equal(expected.MakeLineBreaksEnvironmentNeutral(), actual.MakeLineBreaksEnvironmentNeutral());

0 commit comments

Comments
 (0)