File tree Expand file tree Collapse file tree 2 files changed +24
-12
lines changed
src/Microsoft.OpenApi.Readers/V3
test/Microsoft.OpenApi.Readers.Tests/ReferenceService Expand file tree Collapse file tree 2 files changed +24
-12
lines changed Original file line number Diff line number Diff line change @@ -75,18 +75,6 @@ public OpenApiReference ConvertToOpenApiReference(
75
75
var segments = reference . Split ( '#' ) ;
76
76
if ( segments . Length == 1 )
77
77
{
78
- // Either this is an external reference as an entire file
79
- // or a simple string-style reference for tag and security scheme.
80
- if ( type == null )
81
- {
82
- // "$ref": "Pet.json"
83
- return new OpenApiReference
84
- {
85
- Type = type ,
86
- ExternalResource = segments [ 0 ]
87
- } ;
88
- }
89
-
90
78
if ( type == ReferenceType . Tag || type == ReferenceType . SecurityScheme )
91
79
{
92
80
return new OpenApiReference
@@ -95,6 +83,14 @@ public OpenApiReference ConvertToOpenApiReference(
95
83
Id = reference
96
84
} ;
97
85
}
86
+
87
+ // Either this is an external reference as an entire file
88
+ // or a simple string-style reference for tag and security scheme.
89
+ return new OpenApiReference
90
+ {
91
+ Type = type ,
92
+ ExternalResource = segments [ 0 ]
93
+ } ;
98
94
}
99
95
else if ( segments . Length == 2 )
100
96
{
Original file line number Diff line number Diff line change @@ -108,5 +108,21 @@ public void ParseSecuritySchemeReference()
108
108
reference . ExternalResource . Should ( ) . BeNull ( ) ;
109
109
reference . Id . Should ( ) . Be ( id ) ;
110
110
}
111
+
112
+ [ Fact ]
113
+ public void ParseLocalFileReference ( )
114
+ {
115
+ // Arrange
116
+ var versionService = new OpenApiV3VersionService ( Diagnostic ) ;
117
+ var referenceType = ReferenceType . Schema ;
118
+ var input = $ "../schemas/collection.json";
119
+
120
+ // Act
121
+ var reference = versionService . ConvertToOpenApiReference ( input , referenceType ) ;
122
+
123
+ // Assert
124
+ reference . Type . Should ( ) . Be ( referenceType ) ;
125
+ reference . ExternalResource . Should ( ) . Be ( input ) ;
126
+ }
111
127
}
112
128
}
You can’t perform that action at this time.
0 commit comments