Skip to content

Commit a7b1e1e

Browse files
committed
Pass the Diagnostic object to the class instances
1 parent 5984798 commit a7b1e1e

File tree

3 files changed

+28
-14
lines changed

3 files changed

+28
-14
lines changed

src/Microsoft.OpenApi.Readers/ParsingContext.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ internal OpenApiDocument Parse(YamlDocument yamlDocument)
6060
switch (inputVersion)
6161
{
6262
case string version when version == "2.0":
63-
VersionService = new OpenApiV2VersionService();
63+
VersionService = new OpenApiV2VersionService(Diagnostic);
6464
doc = VersionService.LoadDocument(RootNode);
6565
this.Diagnostic.SpecificationVersion = OpenApiSpecVersion.OpenApi2_0;
6666
break;
6767

6868
case string version when version.StartsWith("3.0"):
69-
VersionService = new OpenApiV3VersionService();
69+
VersionService = new OpenApiV3VersionService(Diagnostic);
7070
doc = VersionService.LoadDocument(RootNode);
7171
this.Diagnostic.SpecificationVersion = OpenApiSpecVersion.OpenApi3_0;
7272
break;
@@ -93,12 +93,12 @@ internal T ParseFragment<T>(YamlDocument yamlDocument, OpenApiSpecVersion versio
9393
switch (version)
9494
{
9595
case OpenApiSpecVersion.OpenApi2_0:
96-
VersionService = new OpenApiV2VersionService();
96+
VersionService = new OpenApiV2VersionService(Diagnostic);
9797
element = this.VersionService.LoadElement<T>(node);
9898
break;
9999

100100
case OpenApiSpecVersion.OpenApi3_0:
101-
this.VersionService = new OpenApiV3VersionService();
101+
this.VersionService = new OpenApiV3VersionService(Diagnostic);
102102
element = this.VersionService.LoadElement<T>(node);
103103
break;
104104
}

test/Microsoft.OpenApi.Readers.Tests/ReferenceService/ConvertToOpenApiReferenceV2Tests.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,18 @@ namespace Microsoft.OpenApi.Readers.Tests
1010
{
1111
public class ConvertToOpenApiReferenceV2Tests
1212
{
13+
public OpenApiDiagnostic Diagnostic{get;}
14+
15+
public ConvertToOpenApiReferenceV2Tests()
16+
{
17+
Diagnostic = new OpenApiDiagnostic();
18+
}
1319

1420
[Fact]
1521
public void ParseExternalReference()
1622
{
1723
// Arrange
18-
var versionService = new OpenApiV2VersionService();
24+
var versionService = new OpenApiV2VersionService(Diagnostic);
1925
var externalResource = "externalSchema.json";
2026
var id = "externalPathSegment1/externalPathSegment2/externalPathSegment3";
2127
var input = $"{externalResource}#/{id}";
@@ -33,7 +39,7 @@ public void ParseExternalReference()
3339
public void ParseLocalParameterReference()
3440
{
3541
// Arrange
36-
var versionService = new OpenApiV2VersionService();
42+
var versionService = new OpenApiV2VersionService(Diagnostic);
3743
var referenceType = ReferenceType.Parameter;
3844
var id = "parameterId";
3945
var input = $"#/parameters/{id}";
@@ -51,7 +57,7 @@ public void ParseLocalParameterReference()
5157
public void ParseLocalSchemaReference()
5258
{
5359
// Arrange
54-
var versionService = new OpenApiV2VersionService();
60+
var versionService = new OpenApiV2VersionService(Diagnostic);
5561
var referenceType = ReferenceType.Schema;
5662
var id = "parameterId";
5763
var input = $"#/definitions/{id}";
@@ -69,7 +75,7 @@ public void ParseLocalSchemaReference()
6975
public void ParseTagReference()
7076
{
7177
// Arrange
72-
var versionService = new OpenApiV2VersionService();
78+
var versionService = new OpenApiV2VersionService(Diagnostic);
7379
var referenceType = ReferenceType.Tag;
7480
var id = "tagId";
7581
var input = $"{id}";
@@ -87,7 +93,7 @@ public void ParseTagReference()
8793
public void ParseSecuritySchemeReference()
8894
{
8995
// Arrange
90-
var versionService = new OpenApiV2VersionService();
96+
var versionService = new OpenApiV2VersionService(Diagnostic);
9197
var referenceType = ReferenceType.SecurityScheme;
9298
var id = "securitySchemeId";
9399
var input = $"{id}";

test/Microsoft.OpenApi.Readers.Tests/ReferenceService/ConvertToOpenApiReferenceV3Tests.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,20 @@ namespace Microsoft.OpenApi.Readers.Tests
1010
{
1111
public class ConvertToOpenApiReferenceV3Tests
1212
{
13+
public OpenApiDiagnostic Diagnostic { get; }
14+
15+
public ConvertToOpenApiReferenceV3Tests()
16+
{
17+
Diagnostic = new OpenApiDiagnostic();
18+
}
19+
20+
1321

1422
[Fact]
1523
public void ParseExternalReference()
1624
{
1725
// Arrange
18-
var versionService = new OpenApiV3VersionService();
26+
var versionService = new OpenApiV3VersionService(Diagnostic);
1927
var externalResource = "externalSchema.json";
2028
var id = "/externalPathSegment1/externalPathSegment2/externalPathSegment3";
2129
var input = $"{externalResource}#{id}";
@@ -33,7 +41,7 @@ public void ParseExternalReference()
3341
public void ParseLocalParameterReference()
3442
{
3543
// Arrange
36-
var versionService = new OpenApiV3VersionService();
44+
var versionService = new OpenApiV3VersionService(Diagnostic);
3745
var referenceType = ReferenceType.Parameter;
3846
var id = "parameterId";
3947
var input = $"#/components/parameters/{id}";
@@ -51,7 +59,7 @@ public void ParseLocalParameterReference()
5159
public void ParseLocalSchemaReference()
5260
{
5361
// Arrange
54-
var versionService = new OpenApiV3VersionService();
62+
var versionService = new OpenApiV3VersionService(Diagnostic);
5563
var referenceType = ReferenceType.Schema;
5664
var id = "schemaId";
5765
var input = $"#/components/schemas/{id}";
@@ -69,7 +77,7 @@ public void ParseLocalSchemaReference()
6977
public void ParseTagReference()
7078
{
7179
// Arrange
72-
var versionService = new OpenApiV3VersionService();
80+
var versionService = new OpenApiV3VersionService(Diagnostic);
7381
var referenceType = ReferenceType.Tag;
7482
var id = "tagId";
7583
var input = $"{id}";
@@ -87,7 +95,7 @@ public void ParseTagReference()
8795
public void ParseSecuritySchemeReference()
8896
{
8997
// Arrange
90-
var versionService = new OpenApiV3VersionService();
98+
var versionService = new OpenApiV3VersionService(Diagnostic);
9199
var referenceType = ReferenceType.SecurityScheme;
92100
var id = "securitySchemeId";
93101
var input = $"{id}";

0 commit comments

Comments
 (0)